Chapter 3

CASD

CASD is an acronym for Computer Aided Scenario Design. The preprocessor CASD for the CFD simulator FLACS-CFD is used to prepare the input data, or job data, that defines a FLACS-CFD simulation. This comprises the: geometry model, computational grid, porosities, and scenario description.

This manual describes CASD 8, but the general functionality is in principle the same for earlier versions.

This section provides a general overview of the functionality in CASD, starting with an overview of how geometry is represented in FLACS-CFD.

Geometry is represented as a binary tree, with union and left difference operations between primitives and operations. The binary tree exists as an object that is part of a geometry file. When working with geometry in the Object window you will always see the geometry as a list of nodes (a node is an operation or primitive), this means that altough the underlying representation is a binary tree, you will never see it as such.

3.1.1.1 Geometry representation

Figure 3.1: Binary tree example

An example binary tree can be seen in the figure above. Operations are represented by circles, and primitives are represented by boxes. Primitives can have a separate representation known as the FLACS-CFD model, as illustrated by the stippled boxes in the figure. The standard model, i.e. not the FLACS-CFD model, is commonly referred to as the visualisation or CAD model.

The FLACS-CFD model can contain the following primitive types: boxes, cylinders, ellipsoids, CP8s and GTCs. These primitives will represent themselves in the FLACS-CFD model unless the FLACS-CFD model have been removed or replaced. An example of this can be seen in the figure above; the box will represent itself in the FLACS-CFD model. In the same example, the cylinder has an empty FLACS-CFD model and will therefore not exist in the FLACS-CFD model.

This allows you to have more advanced and visually pleasing geometry for presentation purposes, while insuring that the model used by the simulator only consists of simple geometric shapes that have been extensively validated. For mere visualisation purposes, it is also possible to have geometry in the visualisation model that has no FLACS-CFD representation, for example geometry to show an escape route.

The porosity calculator available in FLACS-CFD, FGC (Flacs Geometry Calculator), will default use the FLACS-CFD model if it is available, when calculating the porosities. When importing CAD models using geo2flacs the FLACS-CFD model is no longer generated, and the visualisation model will be used.

See also:

The section about the visualisation and FLACS-CFD model when importing geometry using geo2flacs. The section about the object window and primitive list.

The following primitive types are supported by FLACS-CFD:

They all share a number of basic properties as seen in Common primitive properties.

Table 3.1: Common primitive properties

Property name

Description

Name

The name of the primitive. If name is set to ”Light” the primitive is interpreted as a light - see Light for more information.

Type

The type of primitive (e.g. box).

Material traits -> Material name

Name of the material to be used. Will override anything set on the database object level. When NONE is selected the primitive will not receive any material regardless of what is specified on the database object level. When DEFAULT is selected the primitive will inherit the material from the first parent group that has a material specified; if no parent group has a material specified the object will not receive any material.

Material traits -> UV type

See UV types for more information.

Material traits -> Drape direction

See Drape direction for more information.

Color

Defined by a hue, saturation and value (HSV) vector and a alpha value. The hue must be in the range 0-360, saturation in the range 0-255 and the alpha between 0-1.

Porosity

Area porosity as a vector and volume porosity as a float. 0 is closed, 1 is open.

Expanding the porosity shows also the advanced option Trace area porosity, used by FGC (Flacs Geometry Calculator). The default ”Auto” setting enables this option for large, zero thickness objects. It can be forced to be on or off for the selected object.

Metadata

Can store arbitrary key-value data. Only supports strings.

Rotation

Rotation in degrees for each axis (x, y, z). The value is derived from primitive specific properties, and is not editable.

Table 3.2: Box primitive properties

Property name

Description

Position

Cartesian position in units

Size

x, y and z size in units

Table 3.3: Cylinder primitive properties

Property name

Description

Position

Cartesian position in units

Diameter

in units

Length

in units

Direction

One of X, Y and Z. Can be prefixed with a minus sign to set negative direction

Table 3.4: Ellipsoid primitive properties

Property name

Description

Position

Cartesian position in units

Size

in units

Table 3.5: GTC primitive properties

Property name

Description

Vector 1 - Vector 6

Defines the primitive. See Definition of a general truncated cone for visual explanation.

Length

Derived from Vector 1 - Vector 6.

Diameter 1

Derived from Vector 1 - Vector 6, read only.

Diameter 2

Derived from Vector 1 - Vector 6, read only.

Figure 3.2: Definition of a general truncated cone.

Table 3.6: CP8 primitive properties

Property name

Description

Vector 1 - Vector 8

Defines the primitive. See Definition of a convex polyhedron for visual explanation.

Figure 3.3: Definition of a convex polyhedron.

Table 3.7: Torus primitive properties

Property name

Description

Theta

In radians. Pi2 makes a closed tori.

Inner radius

Distance in units between the center of the tori and the inner wall.

Diameter

Diameter in units of the closed part of the tori. When combining a tori with a cylinder this should be set to the diameter of the cylinder.

Table 3.8: RTorus primitive properties

Property name

Description

Theta

In radians. Pi2 makes a closed rtori.

Inner radius

Distance in units between the center of the rtori and the inner wall.

Diameter

Diameter in units of the closed part of the rtori in the major axis.

Height

Diameter in units of the closed part of the rtori in the minor axis.

Mesh primitive properties.

Table 3.9: Mesh primitive properties

Property name

Description

Faces

Number of faces in the mesh. Uneditable

Vertices

The points the mesh consists of in units. Uneditable.

Is closed

When set to true the mesh is a closed 2-manifold. Uneditable.

Force closed

When set to true the mesh will be forcefully interpreted by the porosity calculator as being closed.

There are two different operation types supported by FLACS-CFD:

They share a number of basic properties:

Table 3.10: Common operation properties

Property name

Description

Name

The name of the operation

Type

The type of operation (e.g. union)

Material traits -> Material name

Name of the material to be used. When NONE is selected the primitive will not receive any material. When DEFAULT is selected the primitive will inherit the material from the first parent group that has a material specified; if no parent group has a material specified the object will not receive any material.

Metadata

Can store arbitrary key-value data. Only supports strings.

See also:

See paragraph Left difference under subsection Menu bar in this chapter for information about how to create left difference operations. Advice on creating left difference operations is included in the Geometry modelling section of the FLACS-CFD Best practice chapter.

Table 3.11: Material properties

Property name

Description

Color

Specifies whether the primitive or material colour should be used. When the latter is selected it will override all colours specified on the primitive level. When a color texture is set and enabled its value will be blended with either the primitive color or material color, depending on the setting here.

Color texture

When set and enabled, the texture will be blended with the primitive or material color. Texture coordinates are defined on the primitive level - see Common primitive properties.

Normal map

When set and enabled this will modify the normal defined by the primitive so it can vary across a surface.

Roughness

Slider: Specifies the roughness/smoothness of a material. The slider generates a value between 0-1, where 1 means that the material is very rough.

Roughness map: When set and enabled, the roughness value will be retrieved from the specified texture instead of the uniform value specified by the slider. Makes it possible to vary the roughness across a material surface.

Property name

Description

Metallic

Dielectric: When selected the material is non-metallic, i.e. the metallic value will be set to 0.

Metal: When selected the material is completely metallic, i.e. the metallic value will be set to 1..

Metalness map: When set and enabled the metallic value will be retrieved from the specified texture instead of a uniform value as with the other options. Makes it possible to vary the metalness across a material surface. This parameter only has an effect when Realistic lighting is enabled.

Scale

The texture coordinates will be scaled according to the values specified here.

Rotate

The texture coordinates will be rotated according to the values specified here.

Translate

The texture coordinates will be translated according to the value specified here.

Wrap (u, v)

Specifies how the texture lookup is done when the texture coordinates go outside the range 0-1, and can be set to one of the following:

REPEAT: The texture will be repeated.

CLAMP: Deprecated, should not be used.

CLAMP TO EDGE: Values below 0 or above 1 will yield the texture edge value.

CLAMP TO BORDER: Values below 0 or above 1 will result in a black color.

MIRROR: The texture will be repeated, but be mirrored when the integer part of the texture coordinate is odd.

3.1.1.4.1 UV types See UV types for a complete list of the different UV types supported in FLACS-CFD.

Table 3.12: UV types

Name

Description

None

Default. Same as planar world.

Custom

The primitive have custom texture coordinates. Only applicable to meshes.

Planar local

Planar texture coordinates in local space.

Planar world

Planar texture coordinates in world space.

Cylinder

Cylindrical texture coordinates.

Sphere

Spherical texture coordinates.

Drape

Planar texture coordinates in world space. UV direction is specified manually instead of automatically as with planar world

Cube map

Cube map texture coordinates. Suitable for use with six sided textures.

Cubic

Cubic texture coordinates.

Lights can be defined in a FLACS-CFD geometry by naming a primitive ”Light”. Operations can not be used to define lights. Three different configuration parameters are supported by lights. The parameters must be added to the metadata property of the primitive. See Light configuration parameters for an explanation of the different parameters. Primitives can easily be converted to lights by using the functionality described in Convert. The lighting model supports only spherical lights and tube shaped lights, but any primitive can be converted to a light. For ellipsoids the spherical light model will be used, otherwise the tube shaped will be used, and fit to the primitives bounding box. Lights only have an effect when Realistic lighting is enabled.

Note:

Light calculations are both memory and computationally intensive, and adding too many lights to a geometry may cause a low frame rate and memory issues. Performance will depend heavily on the specification of your PC, and is affected by the available CPU power, memory size (RAM), and graphics card resources.

Table 3.13: Light configuration parameters

Name

Description

AreaOfEffectRadius

Only nodes in a sphere defined by the light position and AreaOfEffectRadius will be effected by the light. Having a large area of effect radius will reduce performance.

EnableShadowCasting

When set to 0 the light will not cast shadows, all other values will enable shadow casting. Enabling shadow casting will reduce performance.

LightIntensity

Defines the intensity of the light. The higher the value the more intense the light will become.

Enabling realistic lighting changes the lighting computations to be more physically based, modelling Fresnel reflection and conservation of energy. It allows modelling of many different types of surfaces based on the two material properties, roughness and metalness.

The roughness parameter models surface irregularities not captured by the normal map, and can be set from 0% to 100%.

Metalness does not have a range, a material is either metal or non-metal, also called dielectric. The main difference between metal and non-metal materials is that metal reflects more light, and has no diffuse light reflection. Metal also has colored reflection, such as gold or copper, as some wavelengths of light may be absorbed.

Realistic lighting is not used when drawing semi-transparent objects.

Figure 3.4: Ellipsoids with roughness of 0%, 25%, 50%, 75% and 100%. Front row is metal and back row is non-metal.

Figure 3.5: Example of reflection, making it clear the object is floating above the ground plane.

lights or some specular highlights, will appear to glow. Bloom is always enabled when realistic light is enabled.

Figure 3.6: Example of bloom effect, where sun is reflected in a box.

Please see the section on Hardware and software requirements regarding the graphics card requirements for running CASD.

In CASD, if insufficient OpenGL support is present, some aspects of 3D views may not work, for example the wireframe display. If updating the graphics driver does not help then a workaround to obtain wireframe views of 3D geometries is to start CASD with the Open Inventor-based viewer, see the following section.

You start CASD by clicking the CASD icon in the RunManager window:

or alternatively by executing the command:

on the command line in Linux. If CASD is unable to obtain a license when connecting to the FLACS-CFD license server, then an error message like “The application was unable to start correctly (0x0000142). Click OK to close the application.” will be shown. To resolve such a problem see the guidance about how to set up a network license or single user license.

The following options can be given when starting CASD on the command line: Table 3.14: CASD command line options

Option

Description

-macro macro file name

Read input from specified macro file

-noLock

Turns off locking on the database files. Must not be used if more than one user accesses the database simultaneously. This option speeds up the database operations significantly.

-viewer osg

Default: use the OSG viewer

-viewer iv

Use the Open Inventor-based viewer

-display and others

Linux: options accepted by X

Example:

Linux:

Windows:

Alternatively, the options may be set permanently in the FLACS-CFD RunManager (click Options, then click Preferences). This will only apply if CASD is started from the RunManager.

Starting CASD 7 opens the main window.

Figure 3.8: The main window in CASD

The main window is divided into the following parts:

These parts are described in the following subsections.

The geometry window and scenario menu are dockable and can be moved and resized within the CASD window by clicking in their top right corner or dragging them on the top border of their windows.

Attention:

When the dockable windows are in undocked state they may disappear when CASD looses focus (e.g. when activating a different program) and return only when CASD regains focus again. This behaviour is not a property of CASD but depends on the window manager and can be set in its options. In KDE, for example, launch kcmshell4 kwinoptions and then go to the Advanced tab and disable Hide utility windows. This setting can also be accessed via System Menu ApplicationsConfigure DesktopWindow BehaviorWindow BehaviorAdvancedHide utility windows.

The menu bar contains the following menus:

The options on the various menus are described in separate sections in this chapter.

The tool bar contains the following parts:

New, Open, Save, Save as, Import, and Result on the File menu

Calculate and Verify porosities on the Porosities menu

View splitting

Rectangle zoom

Spinning (toggle on/off)

Highlighting option, from filled only (0) to various degrees of contour highlighting (1-5)

Add plan drawings as a design guide

Add load filters to load selected parts of a geometry

Snap to corner

Snap to edge

Snap to face

Note that the sections of the tool bar can be in different order, depending on the active layout. You can define several layouts, which not only set the content of the tool bar, but also the arrangement of the other components in the CASD main window.

The command input field represents an alternative interface between the user and CASD, in addition to the regular menus on the menu bar. The control input field contains a scrollable command history list, and a current command context indicator (left side). To control the command history list from the keyboard use:

Hence, you can choose whether to use a menu option on the menu bar, for example: File Exit Yes (to exit and save) or to execute, after typing or retrieving, the following command in the command input field: file exit yes yes

Command line input will in many situations be the most efficient way to work with CASD. Other sections in this chapter present additional examples on how to use this feature.

Up to ten of the most recently used commands are stored after the end of a session.

Examples: Using the command input field in CASD

edit properties 2 2

This is because the position is not completely specified. You do not need to specify all parameters, but you must include all values for the parameter specified.

edit properties size 2 2 2 vol por 0.5

geometry delete yes

or shorter: ge de y

geometry list outfile.txt

The geometry window in the main window displays the geometry, the computational grid and scenario parameters. In addition to the options on the View menu, there are several ways of manipulating the view:

The status field in the main window contains information concerning the: active database, project, geometry, grid, and units.

Each geometry window has its own icon bar underneath.

Figure 3.9: Geometry window icons

The geometry window icon bar has following the following functions.

A cursor coordinate field is located to the lower left of the geometry window. In Select mode this field shows the position of the mouse cursor in the geometry. In View mode this field shows the position of the current snap point, which is set by performing a CTRL+left-click in the geometry window.

A right-click in the cursor coordinate field opens a context menu with options to copy the coordinate value to the clipboard, and to change the font in the field. Changes to the font, e.g. size or typeface, is saved in the user settings.

Figure 3.10: The cursor coordinate field and it's context menu.

The status bar in the main window display information concerning

CASD stores job data in a set of files. For the arbitrary job number 010100, the most important files are the:

The File menu in the main window contains commands for creating, opening, and saving the various job files. See section Files in FLACS-CFD for further information.

Implementing the geometry model in CASD is often the most time-consuming part of a project. For modern process facilities it may be possible to import the geometry from an existing CAD model, but for many installations the geometry must be constructed manually from drawings, photographs, etc.

A large project, such as a full probabilistic analysis, can involve hundreds of CFD simulations, and each simulation will typically produce 10 to 15 different files. Hence, it is important to organise the files in a well-structured manner.

The building blocks in a CASD geometry are instances of objects. The structure within an object is described in Geometry representation.

The list of information required to implement a typical process facility, such as an offshore oil platform or an onshore process plant, is quite extensive and includes:

Most FLACS-CFD users find it convenient to define standardised axis directions, and the following convention is used by Gexcon for typical process facilities:

This results in a conventional right handed coordinate system, where the lower south-western corner of the facility coincides with the origin (0,0,0).

Each object in a CASD geometry is assigned a material property, and each 'material' is assigned a colour hue from the 0 - 360° colour circle. Many FLACS-CFD users assign certain hues to various structural elements, and the following convention is used by Gexcon for typical process facilities.

Table 3.15: Colour convention used by Gexcon

Hue

Colour

Description

0

Red

solid walls and decks

30

Orange

pressure relief and louvred panels

60

Yellow

grated decks

120

Green

anticipated congestion

180

Cyan

equipment

Hue

Colour

Description

200

Light blue

structure

220

Medium Blue

secondary structure

250

Dark Blue

piping

300

Pink

equipment

A standardised colour scheme makes it more straightforward to review geometries from old projects.

The traditional FLACS primitives like box and cylinder always represent a single solid object, but the mesh primitive can represent anything from a single surface or solid, multiple surfaces or objects, or part of an object or surface.

Mesh primitives are normally the result of importing CAD files when the shape could not be detected as any of the other primitive types.

For mesh primitives that represent solid objects, the orientation of normals on the surface of the mesh is used to determine what is the inside and outside of the mesh.

CASD will try to detect if the mesh is a closed solid, and this can be seen as the ”Is closed” property on the mesh primitive in the object window. If the mesh primitive is known to represent a solid object, but is not detected as such, the ”Force closed” option must be set. A mesh object that is not closed and not force closed, will not produce volume blockage!

In some cases, a single solid object will be represented as multiple mesh primitives. The menu option Merge mesh can then be used to merge the objects into one.

Conversely, a single mesh primitive can represent several objects. The menu option Split mesh or Convex decompose mesh can then be used to split the mesh into multiple mesh primitives.

Splitting a mesh may result in f.ex the inner surface of a hollow object being split into a separate mesh. This will then become a ”inside out” mesh and should be removed.

To appropriately model the effect of obstacles, it is important that the obstacles are geometrically well-represented on the chosen grid. In most practical situations, it will not be possible to represent smaller obstacles on the grid, however these should still be included in the geometry model since they may be treated by proper sub-grid models. Larger obstacles like the floor or ground, the ceiling, the walls and larger equipment will be resolved on-grid. Such objects may be repositioned so that their edges fall on grid lines, see Geometry considerations for the grid.

The most challenging geometries to represent properly are repeated obstacles of the same size and spacing as the chosen grid spacing. In such cases, consider changing the grid to achieve a better representation; if this type of geometry is dominant, then the accuracy of the result depends on the representation of these objects being good enough. In cases where such objects are not dominant, one may pay less attention to how the geometry is represented. For normal offshore modules there will be a range of sub-grid obstacles which are more or less randomly distributed in space.

A sub-grid obstacle is an object with a size of less than 2 control volumes (grid cells); for such an object, sub-grid contributions to turbulence and flame folding are applied. Bigger obstacles are called on-grid.

In many experimental setups one will find repeated obstacles of the same size. The basic research on gas explosions has focused on the effect of obstacle arrays, rather than on the effect of more realistic geometries. Both categories are important in order to be able to validate tools like FLACS-CFD.

Shortcut: CTRL+N

Creates a new simulation job.

The New command in the File menu creates a new empty job. If there were unsaved changes to the current job, a dialog box is displayed, asking about saving the changes.

Shortcut: CTRL+O

This command opens an existing set of simulation files. The default simulation files selection is defined in the header file (.caj).

The Open command in the File menu opens an existing job.

If the file name is entered in the command input field, the path must be encapsulated in apostrophes, for instance:

open "../../Test/000000.caj"

If the command is selected from the menu, or if no name is specified in the command input field, the Open dialog box is displayed, where the path and file name can be specified.

By default, the file filter is set for selecting CASD header files (.caj). The file type filter can be changed to show geometry files (co.dat3, co.geo) or all files (.). CASD will then open all files with the same job number.

If there were unsaved changes to the current job, a dialog box is displayed, asking about saving the changes. CASD will display the contents of the geometry file in the graphic area after a file is successfully opened. The contents of the geometry file can be edited using the Edit File command in the Geometry menu.

When opening a simulation whose cs-file compatibility field is different than the most current version you will be asked if you want to update the file to the latest version. If you decline to update the file, it will retain its original value when saved.

Shortcut: CTRL+S

Saves the current simulation job (that is, the various files that define the job).

The Save command in the File menu saves the current job.

Shortcut: CTRL+SHIFT+S

The Save As command saves the current job under a new (user-defined) name (job number).

Imports some specifications from another simulation job (for example, grid file, scenario file, etc.).

Exports the visible geometry in CASD to file with the provided format (for example .obj files).

Shortcut: CTRL+Q

Exits the CASD program.

CASD stores the geometry in geometry files (co-files). The commands in the Geometry menu in the main window, except the Edit File command, are available when connected to a database. The Save and Save as commands in the File menu writes the geometry to the geometry file.

The Edit File command in the Geometry menu makes it possible to edit the geometry file (co file) for the open job.

The Statistics menu item allows to compute various properties of the geometry, such as surface area and volume. The values can be determined for specific parts of the geometry, and the results can be grouped into user-defined categories. Overlapping parts of the geometry will be identified and not be counted twice.

Figure 3.11: The geometry statistics tool in CASD.

Note:

The Statistics menu item opens a graphical front-end to the cofile2 tool. For the time being, the older cofile (deprecated) tool is still included in the FLACS-CFD package and can be only used from the command line. Please note that regions are defined differently in cofile and cofile2.

The prefilter option allows to specify what geometry to include in the calculation, e.g. by primitive type or hue. The filter is specified in the same way as the Quick filter used in the Object Dialog. Any geometry not matching the filter will be disregarded and not influence the results. An empty filter will include all geometry.

Regions can be set up to include or exclude parts of the geometry based on their location. Each region is an axis-aligned bounding box around the geometry to be included or excluded. The union of the regions to be included reduced by the union of the regions to be excluded defines the total region for which the geometry statistics will be prepared. For example an L-shaped region can be defined either as two include regions, or one include region and one exclude region. The result will be the same.

Double-click a region to edit its size. The region will be displayed as a bounding box in the CASD geometry that can be interactively positioned and resized.

Several categories and subcategories can be defined. Each category has a name and a filter rule. The name is a user-defined text, and the rule is a filter like the Quick filter used in the Object Dialog. The result values for a subcategory will be the sum of the result for all primitives matching the filter rule in the category and any parent category.

To define a top-level category, make sure that no category is selected in the list and click Add category. To define a subcategory, select the parent category and click Add category. Double-click the category name or filter rule to edit it.

The following subcategories have been predefined for cylinders:

Table 3.16: Predefined subcategories for cylinders

Name

Rule

Class 4

size >= 0 2.5in

Class 3

size >= 2.5in 5in

Class 2

size >= 5in 9in

Class 1b

size >= 9in 15in

Class 1a

size >= 15in 31in

LARGE

size >= 31in

The prefilter, regions and category setup can be saved to a file or loaded from an existing one. Such a file can also be loaded by the cofile (deprecated) utility.

Depending on the size of the geometry, the size of the regions, and the complexity/number of overlaps in the geometry, the calculation can take some time. A progress bar is shown while the geometry is processed.

Note:

As a polygonal representation of the geometry may be used in the calculations, the resulting values may not be exact. In particular, cylinders that are

will be represented as an extruded hexadecagon when calculating the volume and area. The error is partly compensated, but deviations of a few per cent should be expected in such cases. Also, compensation is not feasible for all object combinations and operations.

When computing the length of primitives, the center line is used. Parts of the center line that intersect bigger primitives will not add to the length.

To view a report of the results, click the View report button. The results can also be saved to a text file.

CASD allows to run a geometry import procedure using geo2flacs entirely from the graphical user interface. The figure below shows the import dialogue.

Figure 3.12: Geometry import dialogue in CASD.

After adding the relevant files, the object type can be set in the drop-down menu for each file. Transformation parameters for rotation, translation and scaling can be filled in if necessary. These correspond to the geo2flacs options -r, -t, and -s, respectively. Also filtering, grouping, and alignment options can be specified. The alternative to running the geometry import from the GUI is to use the geo2flacs utility for manual geometry import.

The Advanced options button brings up a dialogue with some additional options that can improve the import in some cases:

Advanced options for DWG/DGN import

Table 3.17: Geometry import advanced options for DWG/DGN import.

Option

Description

Assume circles are connected

When enabled it may fix problems where pipes are not imported.

Assume all objects are solid

Disable this option if the import contains extra geometry that seems out of place. This is caused by the importer assuming that all objects are solid; however, in some cases there are helper lines or other objects in the CAD file that are not part of the actual geometry and should not be imported.

Group nodes at root level by group name

When enabled the primitives and operations will be placed in named groups at root level based on the DGN level/DWG layer each primitive belongs to. This is applied at object level.

Analyse DWG boundary representation to detect left difference

Enables experimental support for left difference objects found in DWG files. In some cases the feature will lead to poorer import of non left difference objects.

Import unrecognized objects as mesh

When disabled unrecognized objects will be imported as bounding boxes.

Merge non-solid shapes

When enabled the algorithm will try and merge primitives that together constitute a box, e.g. 6 planes/boxes that together form a box will be merged into a a single box.

Split lines into segments

When this option is enabled lines will be split into segments using intersecting faces

Advanced options for RVM import

Table 3.18: Geometry import advanced options for RVM import.

Option

Description

Import ‘Insulation’ primitives

By default, the import will include geometry that is tagged as insulation in the CAD model, but this can be switched off here.

Import ‘Obstruction’ primitives

Normally, the import will disregard obstruction primitives, but these may be included by enabling this option.

Advanced options for geometry analysis

Table 3.19: Geometry import advanced options for geometry analysis.

Option

Description

Generate FLACS model (legacy)

Enabling this option will generate FLACS-CFD model primitives for mesh primitives on import.

Enable mesh curvature analysis

Enabling this option may improve the import, especially of pipes, if the CAD file contains many mesh objects (objects represented by triangles or polygons). In some cases the algorithm will misinterpret input and large unwanted objects may appear in the import. These can be removed manually, after which the result is normally much better than without this option enabled.

The object window opens when choosing the menu item Edit File in the Geometry menu.

Figure 3.13: The object window in CASD.

The object window consists of 6 main GUI elements as seen in the image above. More information about each GUI element can be found below:

The entries in the File menu of the object window are explained below.

The entries of the Edit menu in the object window are explained below.

Remarks:

To use the shortcuts displayed in this menu, the input focus must be on the 3D view; click MOUSE+LEFT in the 3D view to activate it.

The Undo command allows the user to undo a large number of the commands available in the object window.

The supported commands include, but are not limited to, the following

The Redo command allows the user to redo a large number of the commands available in the object window. It supports the same commands as the Undo command.

See also:

Light for the specification of a light.

The Properties command in the Edit menu changes the primitive properties if the selected node is a primitive. If you have selected a subtree containing only one type of primitives, the Properties command can be used for changing one or more parameters for all these primitives.

Use the Translate command to move the selected subtree a specified distance per axis direction.

Use the From To command to translate a subtree so that one specified position, the base point, is moved to another position, the target point. A dialog box for specifying the two positions is displayed. A circle is displayed in the 3D view, indication the position being edited. CASD keeps a list of positions used in the object. By pressing CTRL++ or CTRL+-, you can parse this list. The coordinates in the dialog box are updated.

The Rotate command rotates the selected subtree. You must specify a base point for the rotation, the axis, and the rotation angle. As for the From To command, you can parse the position list using the CTRL++ or CTRL+- commands. If the rotation angle is not a multiple of 90 degrees then CASD will warn about creating objects that are not grid-aligned.

The Scale XYZ command scales the selected subtree independently in each axis direction. The origin for the scaling, and the scaling factor must be set. The position list can be parsed using the CTRL++ or CTRL+-commands before selecting Scale XYZ.

The delete subtree command deletes all selected nodes in the primitive list and their children.

The delete node command deletes all selected nodes in the primitive list but will not delete any children unless they are explicitly selected.

The Mark command is used when creating Left difference objects. It is possible to mark one or more nodes. Marked nodes are used as the positive part when adding a left difference operation. In order to mark nodes the user must select one or more nodes and trigger the Mark command.

See also:

The Advanced left difference operations section for example usage of the Mark command.

The Duplicate command in the Edit menu duplicates the selected primitives and operations. You are asked to enter the number of copies, and the distance between each copy in the three axis directions.

See also:

The Duplicate command in the Geometry menu duplicates the selected instance.

Creating pipe bundles

Start with creating one cylinder with the appropriate diameter, length and direction. Use the Duplicate command in the Edit menu to duplicate the cylinder in one direction. Use the same command once more to duplicate the resulting row of cylinders in the other direction.

If you need to change some parameters for all the cylinders, select all the primitives and use the Properties command. If you want to change the distances between the cylinders, this can be done by scaling all the primitives. Afterwards you can use the Properties command to reset the cylinder diameters and lengths.

The Material command in the Edit menu edits the material name for the object. You must enter an existing material name. This action is only enabled when connected to a geometry database.

Opens the ”Edit materials” dialog that shows all materials available to the object or geometry.

Opens the material specified for the selected primitive for editing.

This function copies the selected primitives and operations to the system clipboard.

This function cuts the selected primitives and operations and places them on the system clipboard.

This function pastes primitives and operations that was previously stored in the clipboard by copy or cut.

When the view is changed the selection in the current view will be used to set the initial selection in the new view.

In most cases it should be sufficient to edit the visualisation model. Any additions or removals to the visualisation model will also affect the FLACS-CFD model. Removing nodes from the FLACS-CFD model will only affect the FLACS-CFD model and not the visualisation model.

To add Primitives in the FLACS-CFD model the user must be editing the FLACS-CFD model, and a single node must be selected in the primitive list. Anything added will then become part of the FLACS-CFD representation of the currently selected visualisation primitive.

Allows the user to export all nodes to a terrain .tri file. See Terrain import in CASD for more information about terrains.

The Add menu allows to add primitives to the object. The different primitives and operations are described below.

Remarks:

To use the shortcuts displayed in this menu the input focus must be on the 3D view; click MOUSE+LEFT in the 3D view to activate it.

The Box command in the Add menu adds a box to the end of the primitive list. A dialog box for defining the box parameters is displayed. See Box for a definition of the parameters.

The Cylinder command in the Add menu adds a cylinder to the end of the primitive list. A dialog box for defining the cylinder parameters is displayed. See Cylinder for a definition of the parameters.

The Ellipsoid command adds an ellipsoid to the end of the primitive list. A dialog box for defining the ellipsoid parameters is displayed. See Ellipsoid for a definition of the parameters.

The Left Difference command adds a difference operation at the end of the primitive list. The marked nodes (Mark) are treated as the solid part of the operation, while the selected nodes are treated as the minus part. Both the solid and minus part of the left difference operation can be a collection of primitives and/or operations. When more than one node is marked as the solid part of the operation a named union will be created. A named union will also be created if more than one node is selected as the minus part of the operation.

Note:

One full grid cell is required inside the solid walls around “left difference holes” to ensure that the walls do not leak. In case of “minus cylinders” inside a solid cylinder, at least two CVs are needed, whereas one CV is sufficient for minus cylinders inside a box.

See also:

Advice on creating left difference operations is included in the Geometry modelling section of the FLACS-CFD Best practice chapter. A specification of the left difference operation can be seen in the Left difference paragraph.

The Copy command adds a copy of the selected primitives and operations.

The Object command adds a copy of a specified object.

There are several ways to select multiple primitives in an object window, and these are accessible in the Select menu. The entries of the Select menu are explained below. Later, it will also be explained how to select primitives with the mouse.

This command lets you define a bounding box, and all primitives within it will be selected. If subsequently using the Cut or Copy operation, primitives intersecting the bounding box will be cut or copied at the intersection plane. For example the Cut operation can be used to cut a portion out of a Box primitive when it is partly overlapped by a bounding box.

Select all primitives.

Selects all primitives not currently selected.

This command will parse (cycle through) the list of selected primitives or subtrees if more than one is selected.

Will select the first named group of the selected primitive or operation.

The entries of the View menu in the object window are explained below.

Shortcut: SHIFT+Z

Shortcut: Y

Shortcut: SHIFT+Y

Shortcut: X

Shortcut: SHIFT+X

The option XY View and XZ View display a projection of the geometry in the XY and XZ planes respectively. The options YZ East View and YZ West View display a projection of the geometry in the YZ plane along the positive and negative Y-axis respectively.

The 3D View option displays a default 3D view of the geometry.

The option Maximise maximises the visible window to display the entire geometry.

The Axis option turns axis display on and off.

See also:

Please note there is also a global option to toggle on/off the show/hide functionality. See Toggle Hide Objects for more information.

The entries of the Macro menu in the object window are explained below. For more information about CASD macros see section Macro menu (deprecated).

Attention:

Macro files generated by Write Object have to be read using the Run command from the Macro menu in the CASD main window.

Attention:

Macro files generated by Write Object have to be read using the Run command from the Macro menu in the CASD main window.

The available actions are in large parts identical to those described in section

CASD - The main window in CASD - The tool bar. The actions that are only available in the object window is described below.

Shortcut: F8

When triggered this will enable/disable show and hide functionality for this object window.

The primitive list shows all primitives in an object. It will show the primitive name and the type for each primitive. Groups are shown with bold text. Primitives that are shown in italic text are the FLACS-CFD model; see Geometry in FLACS-CFD for more information about the difference. Primitives that have an asterisk behind the name has an empty FLACS-CFD model.

Allows you to quickly edit properties for the selected primitives and operations. When multiple primitives and operations are selected only intersecting properties will be shown. This feature replaces the deprecated Properties dialog.

For an overview of the different properties that can be set please see section Geometry in FLACS-CFD of this chapter.

This command will set up a filter for selection, but defined by a string instead of the user interface as in the filter command. The available filters are:

Table 3.20: Quick filter syntax

Expression

Description

box cylinder gtc cp8 ellipsoid

Matches the corresponding primitive type.

width    >

height length = SIZE diameter >=

<=

Matches if the specified dimension compared with the SIZE using the specified comparison operator is true. For boxes, length, width and height are defined as the longest, median and shortest dimension, respectively. For cylinders, length is always the cylinder length and width and height are equal to the diameter.

It is possible to combine the dimensions into an expression, for example: width/height 2 would match primitives where the ratio width/height is greater than two.

hue = HUE

Matches if the primitive hue is equal to the specified HUE.

aligned

Matches if the primitive is axis-aligned.

direction x or y or z

Matches if the primitive direction matches the specified direction.

The filter types can be combined using and and or operators and inverted using the not operator. For example:

box and (hue = 120 or length > 2)

selects boxes that are green or have length greater than two,

cylinder and not aligned

selects cylinders that are not axis-aligned.

A GTC is considered (axis-) aligned if its direction vector points along one of the coordinate axes. A CP8 is axis-aligned if three of the vectors are axis-aligned (those that span the origin corner if the CP8 were a box).

The direction of a cylinder is given by its axis, a GTC's direction is given by the direction vector, and for a box or ellipsoid the length dimension (the one with greatest extent) determines the direction; if the two maximum extents of a box or ellipsoid are equal then no direction will be defined. Also for a CP8 the direction is undefined and will not match direction x/y/z.

Besides the methods for selecting primitives that were explained above, it is also possible to use the mouse. To select primitives, Selection mode has to be enabled; it has the same icon as is used in the

geometry window. Left-clicking on a primitive will select it. By holding down CTRL and left-clicking several primitives successively, you can select multiple primitives. If you want to select a group of primitives that can be framed by a rectangle, you can press SHIFT on the keyboard and hold down the left mouse button while drawing a frame around the group of primitives that you want to select. See the image below for an example. When using this technique for selecting groups of primitives, it is important that there are no other primitives in front or behind of the intended group within the frame, otherwise these will be selected as well.

Figure 3.14: Multi-selection of primitives. Left: create a selection window with the mouse while holding the SHIFT key; right: all primitives in the selection window are selected.

Note:

The same ways of selecting primitives with the mouse also work in the geometry window.

The simulation volume is divided into grid cells (control volumes) by three sets of grid planes, one in each axis direction.

There is always a current grid working direction, and a selected region of grid planes in this direction. The current working direction is shown in the message area. The lines indicating the selected region are highlighted in the viewer.

Shortcut: CTRL+G

Using the Quick grid setup, it is possible to quickly create a grid with a core region covered by cells of a uniform size, surrounded by a stretched region where grid cells may vary in size.

Figure 3.15: The Quick grid setup window


The Quick grid setup window is divided in 4 sections:

Most parameters in the Quick grid dialogue require three values, associated with the X, Y and Z axes in that order. Values can be entered using the keyboard, the mouse scroll wheel, or by clicking the arrow buttons on the input field.

The values for the three axes are independent unless stated otherwise. If a relationship between two or more parameters is defined and no axis is specified, then the described relationship applies to each axis. For example, the expression (Cell size) * (Number of cells) = (Actual maximum) should be interpreted as

(Cell size X) * (Cell size Y) * (Cell size Z) *


(Number of


(Number of


cells X)


cells Y)


(Number of cells


Z)


(Actual maximum X)


=


(Actual maximum Y)


(Actual maximum Z)


Note that it is possible to enter combinations of values into the Quick grid dialogue which cannot be used to define a grid that satifies the Quick grid requirements. When this happens, an error message is displayed, and the field that should be adjusted is highlighted in red. Adjusting the stretched domain usually solves this. When a scenario is saved and a grid is generated using the quick grid setup, the configuration parameters for the quick grid are saved in a ”quickGrid{jobnumber}.json” file. When the scenario is reopened in CASD, this settings file is used to populate the quick grid setup. If a scenario with no associated quick grid settings file is opened in CASD, then CASD will try to set appropriate quick grid settings. These settings may not be appropriate and should be checked.

See also:

Recommended grid configuration provides recommendations for defining grids appropriate for specific scenarios.

Below follows a short description of the various parameters.

Minimum The location where the core domain starts in this dimension.

Maximum The highest coordinate for the core domain in this dimension.

Actual maximum The location where the core grid actually ends; it is given by the smallest multiple of Cell size that is larger than or equal to Core domain - Maximum.

Uniform grid If checked, the value of Cell size for the Y and Z axes is set equal to the value for the X axis. Same for the Max factor and Max cell size parameters.

Cell size If selected, the cells in the core domain are guaranteed to have exactly the specified size. The value of Number of cells is computed automatically.

Number of cells If selected, the core domain is guaranteed to have exactly the specified number of cells. The value of Cell size is computed automatically. If Uniform grid is checked, the Cell size for the X axis is computed automatically, and the value is used to determine the Number of cells for the Y and Z axes.

Stretch domain If checked, the core domain is surrounded by a stretched domain. The size and the number of cells in the stretched domain are computed automatically. The size of the cells in the stretched domain is guaranteed to be larger than or equal to Cell size.

Minimum The location where the stretched grid starts. Must be less than or equal to Core domain -Minimum. If equal to Core domain - Minimum, no stretched domain is generated on the low side of the core domain.

Maximum The location where the stretched grid ends. Must be greater than or equal to Core Domain -Maximum. If less than or equal to Core domain - Actual maximum, no stretched domain is generated on the high side of the core domain.

Max factor The ratio between the size of two neighbouring cells is guaranteed to be less than or equal to this value. If Uniform grid is checked, the Max factor is the same for all the three axes. Otherwise, a specific Max factor can be defined for each axis. Only values between 1.0 and 2.0 are allowed. Suggested setting: 1.2.

Max cell size If enabled, the size of a cell is guaranteed to be less than or equal to the specified value. If Uniform grid is checked, the Max cell size is the same for all three axes. Otherwise, a specific Max cell size can be defined for each axis. This value must be larger than or equal to Core domain - Cell size.

See also:

Grid domains for more information about core domains and streched domains.

Memory consumption An estimate of the amount of memory required by FLACS-CFD to calculate a simulation on the resulting grid.

Core aspect ratio The ratio between the largest and the smallest dimension of cells in the core domain. If Uniform grid is checked, the core aspect ratio should be exactly 1.0. The core aspect ratio should never exceed 100, and a value of 1.0 is recommended for explosions, see the recommendations for configuring the grid.

Min cell The size of the smallest cell in the grid.

Max cell The size of the largest cell in the grid. If Max cell size is enabled, this value is guaranteed to be smaller than or equal to Max cell size.

Actual max factor The actual maximum ratio between the size of two neighbouring cells. This value is guaranteed to be smaller than or equal to Max factor.

Shortcut: CTRL+SHIFT+G

The Check Grid menu choice opens a tool that can help to evaluate the quality of the current grid by checking it against recommendations in the grid guidelines. Please be aware that scenarios that include many scenario items might result in conflicting guidelines, which means that not all the recommendations can be fulfilled.

Note:

The evaluation does not consider the scenario geometry which might require additional recommendations according to the guidelines.

In addition to information about scenario type and items (leaks, panels, monitor points, fuel regions, etc.) read by the tool from the scenario setup, it is possible for the user to define a region of interest and confinement (i.e., if the scenario is confined by geometry on any sides). In addition, the user can set the ground level to exclude recommendations in negative Z direction that are not relevant as the grid is normally not extended below the ground level.

Based on the input from the scenario and the user, the tool will define a set of recommendations based on the grid guidelines, and test these recommendations against the current grid. The results are listed in a table as shown in the image below.

Figure 3.16: Example of the grid check dialog with recommendations for a simple fire scenario with a single jet leak. The white box in the 3D View represent the domain area related to the recommendation highlighted in blue.

Note:

The scenario needs to include a fuel region, a jet leak or a pool for the grid checker to be able to compute a core domain needed for generating a set of recommendations.

The columns in the table contains information related to each recommendation:

Status: Indicates if a recommendation is broken or OK.

Source: Indicates what triggered the inclusion of the recommendation (e.g. a specific scenario item, or if this is a general recommendation).

Guideline: Specifies the recommendation, e.g., that the number of cells in a defined area should be higher that a given threshold value.

Threshold: Specifies the threshold for the recommendation.

Domain: Specifies the target area for the recommendation, e.g. a range for a spesific grid axis, an area or a volume. When clicking on a row, the target area is visualized in the 3D view as a white line, rectangle or box, depending on the shape of the target area.

Result: If the recommendation failed, this column will show the current value so that it can be compared to the threshold value.

Note:

The check grid tool is provided to help the user setting up a grid that follows the grid guidelines, but although a grid does not fail any recommendations in the grid check dialog this does not guarantee that the grid follows all the grid guidelines. It is the users responsibility to make sure that a grid is following the guidelines for a given scenario.

The Simulation volume command allows adjustment of the extent of the simulation volume in the three coordinate directions. If the volume is increased, the original grid planes are kept and one additional plane is added in each direction. If the volume is decreased, planes outside the new volume are deleted and new planes are created at the volume borders.

The Direction command changes the working direction. Legal inputs are x, y or z. The Grid menu commands Region, Add, Position, Move, Delete, Smooth, Stretch and List are implemented for grid planes in the working direction.

The Region command substitutes the selected grid planes with a new set of grid planes and requires the new number of control volumes in the region to be entered.

The Add command adds a new grid plane in the working direction and requires the coordinate value for the new plane to be entered.

The Position command allows the position for the selected grid plane to be edited.

The Move command moves the selected grid plane(s) a specified distance.

The Delete command deletes the selected grid plane(s).

The Smooth command substitutes the selected grid planes with a new set of grid planes.

When the Smooth command is implemented, the sizes of the control volumes at each end of the region remain unchanged and sizes of control volumes between them is varied gradually, see the example in Grid guidelines. This function is typically used when refining the grid around a leak.

The Stretch commands substitutes the selected grid planes with a new set of grid planes. This is particularly useful when stretching the grid towards the domain boundaries.

The Stretch command has two sub-choices:

The size of the control volume at one end of the region is required (the default is the current size). The factor by which the sizes of the control volumes in the specified direction should be increased or decreased is also required.

Attention:

Stretching of the grid should be avoided in areas of the simulation domain where the main combustion takes place. The flame model in FLACS-CFD in areas where accurate results are required. It is, however, prudent to stretch the grid towards the domain boundaries to reduce simulation time and computer memory requirements.

The Information command displays status information about the defined grid, while the List command lists the grid coordinates in the working direction.

The Information command displays status information about the defined grid, while the List command lists the grid coordinates in the working direction.

Three mutually exclusive options are available in the Display menu:

The selected region includes grid planes between the planes that are selected as the lower and upper limits. If only one plane is selected, the upper and lower limits are the same grid plane. Grid planes are selected using the following commands:

Select the next grid plane: CTRL+RIGHT

Select the previous grid plane: CTRL+LEFT

Select the next grid plane: CTRL+UP

Select the previous grid plane: CTRL+DOWN

Use the Import command in the File menu to import the grid from another job.

If a grid file name is entered in the command input field, the path must be encapsulated in apostrophes, for example:

import "./cg000000.dat3"

If the command is selected from the menu bar, or if no name is specified in the command input field, the Import dialog box is displayed and the path and file name for a grid file can be be entered. A dialogue confirms that the current grid should be overwritten by the grid from the specified file.

The Save and Save as commands in the File menu save the grid, together with the rest of the job data. Porosities must be recalculated following any change to the grid.

FLACS-CFD is delivered with a command line tool, gm for creating and manipulating the grid. This tool can be used to quickly edit or obtain information about the grid.

The Porosities menu contains commands for calculating and verifying porosities.

Calculate starts the porosity calculation program, FGC (Flacs Geometry Calculator).

Verify starts Flowvis in porosity verification mode.

The Calculate command starts the porosity calculation program FGC.

Settings for FGC can be selected in the Preferences dialog in CASD.

The Verify command lets you view the calculated porosities. Flowvis is started for porosity verification. A 2D Cut Plane plot for the appropriate job is automatically created with volume and area porosities shown. The Plot Domain dialog box pops up. This dialog box lets you select other planes as wished.

By clicking inside a control volume, you can verify the porosity values for that volume.

The purpose of this chapter is to outline how to edit the scenario sections. A short description of each section and the impact on the FLACS-CFD simulations will be given. The scenario file (cs-file) is an ASCII file and it is easy to edit manually as well as using CASD.

The scenario input is done in a scenario panel where sections can be expanded and collapsed. When a section has been expanded, the items in the section are displayed as a list. The method for editing a scenario section depends on the type of section.

Note:

Some advanced options and parameters are hidden by default. These can be shown by right clicking with the mouse and checking Show advanced.

Sections such as INITIAL CONDITIONS and IGNITION contain a list of parameters, each with one or more values. A parameter is selected for editing by double clicking on it or hitting the enter key. The scenario input can be done using the keyboard only with a combination of the arrow keys and the enter key.

Sections such as SINGLE FIELD SCALAR TIME OUTPUT and SINGLE FIELD _ 3D OUTPUT contain a list of items, which can be selected.

For some sections, each item has a subsection. For SINGLE FIELD SCALAR TIME OUTPUT you must select from a list of monitor points for each variable selected. An item is selected by clicking on it. To select several items using the mouse apply CTRL or SHIFT keys. If a selected option shall be deselected without selecting an alternative option, deselect by clicking while pressing the CTRL key.

Importing the scenario from another job

Use the Import command in the File menu menu to import the scenario from another job. You will be asked to verify that the current scenario is overwritten by the scenario from the specified file.

Saving the scenario

The Save and Save as commands in the File menu menu saves the scenario (together with the rest of the job data).

The scenario menu supports undoing and redoing most actions. As a general rule all actions except the Automatic grid refinement plugin support undo/redo.

Undoing is achieved by having focus on the scenario menu and using the CTRL+Z shortcut. Redoing is triggered by using the CTRL+Y shortcut.

There are also two buttons in the toolbar that can be used to trigger undo/redo in the scenario menu. See the screenshot below where these buttons are highlighted.

Figure 3.17: Undo/redo buttons for scenario menu

The following simulation types are available in CASD:

Note:

In FLACS-CFD 21.2 the simulation type Gas explosion (DDT) has been removed. This functionality is covered by the Gas explosion simulation type. Opening old scenarios that use the Gas explosion (DDT) simulation type is still supported in CASD and FLACS-CFD.

Enabling this option will write all available variables available in the current simulation type to the SINGLE FIELD VARIABLES section of the scenario file. Note that this only concerns variable definitions and does not automatically lead to output being written; see the sections regarding monitor points, pressure relief panels, and 3D output for how to obtain data for the variables.

This option can be changed to produce scenario files that are compatible with different versions of FLACS-CFD, and will also impact which simulator and porosity calculator is selected when starting simulations using RunManager and runflacs.

Note:

This option is hidden by default. To make it available, right click in the Scenario settings window and check the Show advanced option.

This field is mainly used by FLACS-Risk to assign key-value pairs to scenarios, to support grouping in the post-processing. The input must be a comma-separated string, such as Geometry=BangBox, Wind=0/5.

The frequency field is used by FLACS-Risk projects to assign a frequency to each scenario. The frequency is used in post-processing to generate exceedance curves.

Monitor points are user-defined locations in the simulation domain where one or more variables are to be monitored during the simulation. The maximum number of monitor points allowed is currently 8000. Positions for monitor points are given in the unit selected in Options Preferences (normally meter) For the fire simulation type, monitor points additionally need to be assigned a direction along which the incident radiative flux is calculated. The monitor point direction is specified as a vector. If the direction is not specified then the maximum value will be output.

Output variables to be written for a monitor point are selected by editing the monitor point. Several monitor points can be edited at the same time by marking them and clicking 'Edit'.

FLACS-CFD identifies the eight surrounding Control Volume (CV) centres and writes an interpolated value of the specified variables to the scalar-time output file (nodes on the other side of a wall or with zero porosity will not be used when interpolating). Here the eight surrounding CV centres define the corners of a parallelepiped used during the interpolation (for a uniform grid with the same CV length in all three axis directions this parallelepiped will be a cube). When a monitor point is located in the centre of a Control Volume (CV) and output is given for a scalar variable (e.g. pressure) stored during the simulation at the central nodes of the numerical grid (the CV centres), then the value reported as output for the scalar variable is the same as the value at the CV centre itself (except for a possible very small difference due to numerical rounding errors).

Attention:

Monitor points should not be placed in the same grid cell as a solid wall unless the wall is thicker than a single grid cell. Usually it is best to enter monitor points according to the grid, not according to the geometry. During the porosity calculations, walls are adjusted to the nearest control volume face (grid line), which can result in a monitor point that was positioned on one side of a wall now being on the other side of the wall! So, if monitor points are placed on opposite sides of a solid wall, then it is possible that they will be considered in FLACS-CFD to be on the same side of the wall (unless the wall is thicker than a single grid cell). Also ensure that no monitor points are inside fully blocked control volumes. For FLACS-Blast simulations, monitor points should not be in cells with porosity 0.5, see the bast section in Modelling and application limitations.

Figure 3.18: Specification of monitor points

NO!               YES

GRID LINES

■ WALLS
+ MONITOR POINT LOCATIONS

Figure 3.19: How to position the monitor points

See also:

Monitor points can be added quickly using the Arrange items functionality.

How to obtain output for flow variables at monitor points is described in the section on

Single field scalar time output below.

Monitor points are given the generic name MP # upon creation. The # is replaced by sequential numbering (”1”, ”2”, ”3”, etc.), converting the generic names into ”MP 1”, ”MP 2”, ”MP 3”, etc. The sequential

numbering is kept consecutive, so that if monitor points in the middle of the list is deleted, monitor points with higher numbers will be renamed, i.e. assigned new numbers to close the gaps in the numbering. Monitor points can be given custom names, and such names will not be affected by the automatic numbering, unless they include a #.

Groups can be defined to organise monitor points. All grouping functionality is available in the context menu, which can be accessed by right-clicking in the monitor points section of the scenario menu. The list of monitor points in a group can be collapsed by double-clicking on the group name; another double-click will expand the list again. When marked, one or several monitor points can be dragged into, between or out of a group. Each monitor point can be assigned to maximally one group. See the picture below for an example.

Aside from organising monitor points in groups, they can also be assigned one or several labels. Labels can be exploited by filtering the list of monitor points to show only those that have one (or several) specified labels. See the picture below for an example. The label and filtering functionality is accessed by right-clicking in the monitor points section of the scenario menu.

Figure 3.20: The monitor points in this example have been assigned to two groups representing the decks of a module. Additionally, labels have been assigned, and a filter is active so that only those monitor points that have the label Gas detector are shown.

Pressure relief panels are commonly used in the process industry as a mitigating device in the case of an explosion. When the pressure forces on the panel exceed a certain limit, the panel yields and the pressure is relieved. In FLACS-CFD, special planar elements inside the simulation volume are used to model the effect of explosion relief panels and yielding walls. They are specified as boxes where one, and only one, of the three side lengths must be zero. In addition, several parameters such as the yield pressures, area porosities and drag factor may be specified.

A panel may be active or passive. An active panel will initially modify the porosity in the region it covers, and again when the pressure difference over the panel exceeds the given limit. If the initial porosity is set to 0 and the final porosity is set to 1 the panel will start as being closed and end up as being open. This is how the behaviour of a real yielding panel is emulated. A passive panel will never modify the porosity, but it may be used to monitor the same data as an active panel. The maximum number of panels allowed is currently 8000. There are 5 different active panel types in standard FLACS-CFD (and additional 2 in flacscfd):

Table 3.21: Panel types in FLACS-CFD

Panel type

Description

UNSPECIFIED

Panel with linear displacement, full parameter set

POPOUT

Panel with a linear displacement, limited parameter set

HINGED

Panel with a rotational displacement, limited parameter set

PLASTIC

Simulates the presence of plastic sheets (commonly used in experiments)

OVERLAY

Panel properties are 'blended' with existing equipment

POPOUT RIGID (flacscfd only)

Rigid panel with a linear displacement, limited parameter set

HINGED RIGID (flacscfd only)

Rigid panel with a rotational displacement, limited parameter set

The edges of a panel are automatically adjusted to the closest grid line. Specify panels whose dimensions match the grid, either by adjusting the grid or by modifying the panel (see Summary of grid recommendations ).

One topic that needs special attention is the presence of solid structures close to the panel area. For example structural beams may constitute quite large blockages that must be accounted for, especially since they also occur at the vent openings of typical offshore modules. In such cases the panel area must be defined using several panels with solid beams in between. Smaller beams, often an integral part of the support frame of the pressure relief panels, may be accounted for by adjusting the final panel porosity for the panel itself. Apart from the abovementioned types of pressure relief panels, FLACS-CFD supports inactive panels. An inactive panel can be used to monitor variables, e.g. to measure average pressure on surfaces such as decks and walls. See the description of inactive panels.

If several panels are specified, they must not overlap each other anywhere, otherwise the behaviour is undefined; inactive panels are an exception and may overlap.

For panels, the same functionality for defining and using groups and labels is available as for monitor points. The full list of parameters from the scenario file is shown below. The type of the panel determines which of these parameters are relevant.

INSERT 1

NAME

"Panel #"

POSITION

0.1

1.2

30.4

SIZE

7.1

5.5

0

MATERIAL

"DefaultMaterial"

PANEL_TYPE

"HINGED"

OPENING_PRESSURE_DIFFERENCES

100000

0.05

INITIAL_AND_FINAL_POROSITY

0

1

WEIGHT

2.7

DRAG_COEFFICIENT

1

MAXIMUM_TRAVEL_DISTANCE

0

PANEL_SUBSIZES

1.1

4.3

The parameters for specifying panel properties are described in the following sections.

A textual, user-defined name or tag for the panel. The name is saved in the cs-file but not used by the simulator.

Integer identifying the panel.

Cartesian coordinates [m] of the corner of the panel (the corner with lowest value of the coordinate in each axis direction).

The panel is assumed to be a plane of rectangular shape. The dimension [m] in each of the axis directions is given. One dimension should be zero, this shows how the panel is oriented. If e.g. the dimension in x-direction is zero, the normal of the panel points in the x-direction. The other two dimensions should be positive. The panel edges and the position will be adjusted to match the grid lines perfectly in the FLACS-CFD code, so it is advised that you only specify panels which coincide with the grid lines, in order to avoid any confusion concerning the geometrical representation of the panel.

For panels, the materials defined in the CASD database may be assigned, but they will not lead to the use of the associated colour. To change the colour of a panel, the colour has to be given as hue value and must be the only value provided to the MATERIAL property, for example

MATERIAL                        "300"

in the cs-file or by clicking Edit in the Pressure relief panels section of the scenario menu in CASD.

The current section describes the eight different panel types: INACTIVE (the only passive panel type), UNSPECIFIED, POPOUT, HINGED, POPOUT RIGID, HINGED RIGID, PLASTIC, and OVERLAY.

Each control-volume face covered by the panel is treated separately. Thus it is possible, depending on the scenario, that one part of the panel is open, while at the same time other parts are closed.

The way of using the initial and final porosities in the FLACS-CFD code depends on the type of panel considered. In the case of the panel types UNSPECIFIED, POPOUT, and HINGED, for each control-volume face that is covered by the panel, the porosity representing the panel is also the porosity of the control-volume face, regardless of any other equipment or structure included in the geometry.

The opening angle or the traveled distance of the panel can be visualized in Flowvis or accessed through Python API when PTRA variable is selected in the SINGLE FIELD SCALAR TIME OUTPUT. The value of PTRA is signed and is positive for translations in the positive axis direction and rotations in the positive direction about the hinge axis.

The panel type PLASTIC emulates a plastic sheet (commonly used in experiments). For a PLASTIC panel, in case of initial area-porosity, for each control-volume face which is covered by the panel, the porosity representing the panel is also the porosity of the control-volume face, regardless of any other equipment or structure included in the geometry (as in the case of the panel types UNSPECIFIED, POPOUT, and HINGED). Usually the initial area-porosity of a PLASTIC panel is zero (completely blocked). If the PLASTIC panel has yielded completely, the area porosities have the same values that they would have if no panel was included in the geometry (as in the case of an OVERLAY panel with final area-porosity 1). For a PLASTIC panel the final area-porosity is always assumed to be 1, regardless of the user-given value.

Panels of the types PLASTIC or OVERLAY are assumed to be light panels, and inertial forces are neglected by the FLACS-CFD code during the dynamical process when the panel yields due to pressure forces. In the case of panels of types UNSPECIFIED, POPOUT, or HINGED, inertial forces are in general taken into account.

PANEL_TYPE POPOUT+IMP

OPENING_PRESSURE_DIFFERENCES 0.05 0.005 (bar bar*s)

When using this the input to OPENING PRESSURE DIFFERENCES changes to

The panel will yield if both the pressure and pressure impulse yield values are exceeded.

This is valid for panel types HINGED and POPOUT.

When the net pressure over the panel (pressure on the negative side relative the coordinate axis minus pressure on the positive side, i.e. the net pressure from the fluid acting on the panel) exceeds the given limits, the panel starts to yield. Two opening pressure-differences, in units of [bar], have to be given by the user, the first corresponds to the case when the net pressure acts in negative direction, the second when the net pressure acts in positive direction. If for example the OPENING PRESSURE DIFFERENCES are given by -0.1 and 0.2, the panel starts to yield when the net pressure is less than -0.1bar (negative direction) or greater than 0.2 bar (positive direction). Notably, the FLACS-CFD simulator disregards the sign of the user-defined opening pressure-differences. Hence, if the OPENING PRESSURE DIFFERENCES were given instead by 0.1 and 0.2, or by 0.1 and -0.2, the effect on the numerical simulation would be exactly the same. The opening pressure-differences must be given for the active panels (all the panel types accept INACTIVE).

The initial area porosity [-] of the panel (open area divided by total area) corresponds to the state of the panel before it has started to yield due to external pressure forces. Similarly the final porosity corresponds to the state of the panel when it has yielded completely. In the case of a PLASTIC panel, the final area-porosity should be set to 1 in order to correspond to how the FLACS-CFD code works (the final area-porosity is always assumed by FLACS-CFD to be 1, regardless of the given value). How FLACS-CFD uses the initial and final porosities depends on the type of panel considered, see above. The initial and final porosity must be given for the active panels (all the panel types accept INACTIVE). The value of the porosity range from 0 (totally blocked) to 1 (fully open). It is expected that the initial porosity is less than the final porosity (the net pressure opens up the panel). If this is not the case, the FLACS-CFD code gives a warning.

After the panel has started to yield, the effective area porosity will gradually change as function of time until the panel has yielded completely. How long time it takes before the panel has yielded completely depend on the pressure forces acting on the panel, the weight of the panel, and the type of panel (for example will the dynamics when a HINGED panel opens, be somewhat different from the dynamics when a POPOUT panel opens). The panel average porosity PPOR may be monitored as function of time giving some information about the yielding process, confer the description of PPOR .

The parameter WEIGHT is relevant for the panel types POPOUT, POPOUT RIGID,HINGED, and HINGED RIGID. This parameter is defined as the mass per unit area of the part of the panel that is moved when the net pressure acting on the panel exceeds the given opening pressure-difference; (mass of moved area of panel)/(moved area of panel) [kg/m2]. The denominator (moved area of panel) is not the total area, but only the area of the moved part of the panel (in general this is less than the total area). The dynamics when the panel yields and part of the panel is accelerated and move away from its initial position, is modelled in the FLACS-CFD code. When specifying a panel type that includes the WEIGHT parameter, the inertial forces must be there when the panel yields. This means that value of WEIGHT should be set to a positive number greater than zero, or the FLACS-CFD simulator will terminate with an error message in the log file. It is only the part of the panel that is accelerated and moves away from its initial position that should contribute to the mass of the moved area of the panel. The mass of a rigid frame that does not yield, should not be included.

Let us consider an example with a POPOUT pressure relief panel: Uniform steel plates with mass per unit area 10kg/m2 are mounted on a strong frame. When the pressure difference exceeds a certain level, the steel plates pop out and move away from the frame. The final porosity corresponds to the state when the panel has yielded completely (the steel plates have moved sufficiently away). Depending on the structure of the strong frame (assumed not yielding), the final porosity could e.g. be 0.9. And in this example the parameter WEIGHT is given as input 10kg/m2 (the value 10kg/m2 is within the typical range of values for WEIGHT for pressure relief panels used at offshore installations).

A dimensionless drag-coefficient [-] has to be given for the panel type UNSPECIFIED (for the other panel types it is not relevant to specify this parameter). The drag coefficient is used when the drag force from the panel on the fluid is modelled (both before, during, and after the panel has yielded). The value of the DRAG COEFFICIENT is zero or positive. A typical value is 2.0 (the value 2.0 is set by the FLACS-CFD code as a fixed preset value for the panel types POPOUT and HINGED).

The maximum travel-distance [m] has to be given for the panel type UNSPECIFIED (not relevant for the other panel types). The use of the maximum travel-distance is based on a rough approximation. The maximum travel- distance is the smallest distance from the initial position of the panel to the position where the yielded panel no longer affects significantly the effective area-porosity at the initial position of the panel. The maximum travel-distance is used to model the effective area-porosity at the initial position of the panel during the dynamical process when the panel yields. A typical value of the MAXIMUM TRAVEL DISTANCE is in the order of 1m (for the panel types POPOUT and HINGED there is an in-built model in the FLACS-CFD code for the effective area-porosity that does not need an input value of the MAXIMUM TRAVEL DISTANCE). You do not need to explicitly specify the maximum travel distance [m] for a POPOUT or HINGED panel. For a POPOUT panel, the maximum travel distance dmax [m] (i.e. the panel displacement after yielding, where the panel frame is fully open, corresponding to the final porosity) is calculated from the sub-panel width w [m] and the sub-panel height h [m] according to the formula:

dmax =w + h


.


(3.1)


Here the width w is the first panel subsize, and the height h is the second panel subsize (see below). For example, if the panel subsizes are specified as 'PANEL SUBSIZES 2.0 1.0', then the width is 2.0 metres and the height is 1.0 metre.

A POPOUT panel covers a certain number of Control Volume (CV) faces for the given numerical grid. As a simplification (or model limitation), the panel displacement at each CV face is assumed to be independent of the other CV faces. The force acting at each CV face is F = A dp [N], where A [m2] is the effective area and dp [Pa] is the local pressure difference (drag forces are also accounted for). The velocity and displacement at each CV face is updated for every time step. The acceleration a [m/s2] is calculated as a = F/m where m [kg] is the mass of the segment of the yielding panel that covers the CV face. Integrating the acceleration a with respect to time gives the velocity v, and integrating the velocity v over time gives the panel displacement d as function of time after yielding. The area porosity at each CV face covered by the POPOUT panel will change linearly from the specified initial porosity to the specified final porosity as the panel moves from zero to the maximum travel distance.

The parameter PANEL SUBSIZES has to be defined for the panel types POPOUT or HINGED (not relevant for the other panel types). These panel types are assumed to consist of sub-panels mounted on a frame. The width [m] and the height [m] of the sub-panels need to be given (it is assumed in the numerical model that all the sub-panels are of uniform size). Both the width and the height should be larger than zero. In the case of the panel type HINGED it is assumed that each sub-panel turns on a hinge when it yields. The width of the sub-panel is defined as the dimension in the direction normal to the axis of the hinge. It is important (since it affects the model in FLACS-CFD) to specify the width of a HINGED panel first and then the height, in the parameter PANEL SUBSIZES (for a POPOUT panel it is of no importance which dimension that is defined as the width).

See also:

Panels can be added quickly using the Arrange items functionality.

How to obtain output of flow variables on panels is described in the section on Single field scalar time output below.

The location of the hinges can be specified only for HINGED RIGID panels. Parameter HINGES takes one of the values denoting hinges axis position with respect to the panel. For instance for the XY panels the following values are allowed: +X, -X, +Y, -Y.

Side outflow can be specified for HINGED RIGID panels. By default (None) the model uses the most conservative approach, where only the projected panel opening area is taken into account in average panel porosity calculations. The user may change this behaviour and select also Frontal , Lateral or both areas. Taking into account both areas is the most accurate modelling approach for panels, assuming their corresponding areas are free and do not interfere with neighbouring panels. When in doubt, it is recommended to use the most conservative approach (with the smallest opening area).

All panel types, including pressure relief panels, are supported by the FLACS-Fire solver. The DTM radiation calculations will capture any changes to panel porosity during the simulations (e.g. due to panels failing or when using an event file).

Rather than having its own entry in the scenario menu, the output of values at monitor points and panels is selected directly when defining the monitor point or panel in their respective scenario menu sections. One or several variables can be selected and deselected by left-clicking or dragging, respectively. Typically the same set of variables should be measured at all monitoring locations. This can be done quickly by selecting all monitor points/panels, right-clicking and selecting 'Edit' on the context menu. The variables can then be selected for all selected monitor points/panels.

An example of how the single field scalar time output selection translates to the corresponding section in the scenario file is shown below. Here NP identifies the variable P (pressure) whereas NPP selects the variable PP (panel pressure), which gives the average pressure across a the surface of a panel:

SINGLE_FIELD_SCALAR_TIME_OUTPUT

NP 1 2 3 4 5

NPP 1 2 3

This shows that pressure is reported for monitor points 1-5 and panel pressure is reported for panels 1-3. The most commonly used monitor point variables for explosion simulations are pressure (P), dynamic pressure (DRAG), panel pressure (PP), pressure impulse (P IMP) and sometimes flow velocity (UVW). For dispersion calculations volume gas concentration (FMOLE) and flow velocity (UVW) are often used.

The monitor point results for job 010100 are written to the r1010100.dat3 file which is read by Flowvis. If ASCII data is required, the r1file-utility program can be used (see the section on FLACS-CFD utilities).

The first section in the scenario file defines the names and identifiers for all variables which may be selected for output from FLACS-CFD. To select alternative units for certain variables (e.g. psi or kPa for pressure or K for temperature) the scenario file should be edited manually. The variable pressure is described in the scenario file as follows:

NP        "P        " 1 "(barg)            "  N  "Pressure"

The output can be obtained in a different unit (psig) can be obtained by editing this as follows:

NP        "P        " 1 "(psig)            "  N  "Pressure"

Similar changes can be made for other variables and other units. Notably the unit of time must always be seconds in the scenario file. After running a simulation, it is possible to change the unit of time as well as other units in Flowvis.

A complete list of all variables available can be found in section Output variables in FLACS-CFD.

This is an output facility in FLACS-CFD which makes it possible to generate plots of the spatial distribution of the variables (e.g. cut plane plots and volume plots) at different moments in time. Before running a simulation, the user needs to specify the list of desired variables for SINGLE FIELD 3D OUTPUT, an example from scenario file is shown below (here P, PROD and VVEC are selected in CASD):

SINGLE_FIELD_3D_OUTPUT

NP

NPROD

NVVEC

NU

NV

NW

When velocity vectors are selected for output (VVEC), the velocity components U, V and W will automatically be selected. These must not be deselected while VVEC remains selected (this might, for example, happen when editing the scenario file manually). Failure to keep the result file and the scenario file consistent will lead to strange results shown in Flowvis.

This type of output may give very large files (r3-files). If you want to save disk space, the number of output variables and the number of time instants for output must be limited. The r3-files are binary, if ASCII data is wanted the utility program r3file can be applied.

The most commonly used variables for explosion modelling are pressure (P), flame (PROD), sometimes gas volume concentration (FMOLE), dynamic pressure (DRAG), maximum pressure (P MAX) and velocity vectors (VVEC). For dispersion FMOLE and VVEC will be the most common variables to report.

In certain situations the variable P MAX may not be written to even if specified (zero results everywhere). This may happen if the simulation job requires more RAM than allowed (e.g. due to self-defined limits in Linux)

To specify output times DTPLOT and NPLOT will normally be used (see Simulation and output control section), and sometimes also cc-files (see Runtime simulation control file section). To create animations it is normally recommended to have plots at 100-200 different moments in time. When creating results files to be used for animations a combination of DTPLOT and NPLOT is usually recommended for explosions, for dispersion only DTPLOT should be used (i.e. keep NPLOT=-1).

Units of output variables can be changed using the technique described in the previous section.

A complete list of all variables available can be found in section Output variables in FLACS-CFD.

This section of the scenario menu has to be enabled manually and allows to specify the advanced settings that can be provided for a simulation with the help of a setup file. The setup file written by CASD will have the name cs<jobno>.SETUP and will be read automatically by the Flacs simulator unless a setup file (with a different name) is specified explicitly on the command line call to Flacs.

This section describes parameters for general simulation and output control. The settings entered into the scenario file by default for gas explosion simulations are listed below:

Maximum time-1

Last timestep-1

CFLC5

CFLV0.5

MODD1

NPLOT-1

DTPLOT-1

When using flacscfd, the following parameter is also available:

Solver mode

"TRANSIENT"


"AUTO"

-1


Enable DDT detection

Force DDT at time

When Solver mode is set to STEADY, the following parameters are also available:

UNDERRELAX_P

0.05

0.8

1

0.01

0.001


UNDERRELAX_UVW

CHECK_CONVERGENCE

CONVERGENCE_TOLERANCE_P

CONVERGENCE_TOLERANCE_FUEL

CONVERGENCE_TOLERANCE_FLAMMASS 0.001

CONVERGENCE_TOLERANCE_FUELMASS 0.001

CONVERGENCE_TOLERANCE_FUELRATE 0.001

CONVERGENCE_TOLERANCE_MASSRATE 0

CONVERGENCE_TOLERANCE_VELMAX 0.0001

If Show advanced is checked, the following parameters are also available:

Start time-1

Minimum time-1

Load number-1

Load job name""

Timestep code""

Special control keys""

INCOMPRESSIBLE0

WALLF1

HEAT_SWITCH0

For dispersion simulations, higher values (20 and 2) are recommended for the CFL numbers. NPLOT should be -1 and a finite value of DTPLOT should be given.

A detailed description of each parameter is given below.

Note:

Only available if Show advanced is checked.

The value entered for Start time is saved in the scenario file as TSTART. This variable makes it possible to specify a start time for simulation (-1 means not applied => default is zero or time of dump-file). If a dump-file exists, one can still adjust Start time, but the previous history of the simulation cannot then be stored using the KEEP OUTPUT option in a setup file.

Note:

Only available if Show advanced is checked.

The value entered for Minimum time is saved in the scenario file as TMIN. This variable makes it possible to define a minimum time for the simulation. When TMIN is set to a positive number, the automatic stop criteria will not activate before the physical time has reached the value of TMIN. This can be useful for blast simulations.

If TMIN is set to -1, then TMIN will not affect the activation of the automatic stop criteria. However, whether TMIN is defined at all, or is set to -1, will in general affect whether FLACS-CFD runs until the value of TMAX (Maximum time) is reached or stops earlier, at a physical time less than TMAX.

Note:

The automatic stop criteria are disabled in the FLACS-Fire solver, so setting TMIN has no effect for these simulations.

See also:

The section on Maximum time contains further information and some examples.

The value entered for Maximum time is saved in the scenario file as TMAX. This is the maximum time interval (seconds) that the simulation will last. The default value of -1 is generally appropriate for explosions simulations. Setting TMAX=-1 means that no maximum time is specified, and the automatic stop criteria will be applied. The automatic stop criteria work well for most explosion calculations. A simulation will be stopped automatically when ignition has happened and one of the following criteria are met:

As soon as one of these criteria is fulfilled, the remaining time to be simulated is taken to be 20 % of the time that has passed since the ignition in the simulation. After this time the simulation will stop automatically.

There are no automatic stop criteria for dispersion and fire simulations, and so these will run indefinitely (until manually killed by the user) if Maximum time is set to -1 for these scenarios.

Automatic stop criteria may not be useful for all explosion scenarios. If far-field blast pressures are of interest, the automatic stop criteria should not be used as they may stop the simulation before blast waves have hit their target.

In a gas dispersion or fire simulation, an appropriate TMAX will typically be from a few seconds to a few minutes. Simulation results are not affected when varying this parameter.

When TMIN (Minimum time) is not specified in the scenario file, and TMAX is set to a positive value less than 10 000, then FLACS-CFD will not stop due to the automatic stop criteria, but will run (whenever possible) until the physical time reaches the value of TMAX.

However, when the TMIN is specified in the scenario file, (even when TMIN=-1), then FLACS-CFD may stop before the physical time reaches TMAX (provided that TMAX is set to a positive value larger than TMIN but less than 10 000). If TMIN is set to a positive value larger than the time determined by the automatic stop criteria, then FLACS-CFD will run (whenever possible) until the time reaches the value TMIN and then stop the simulation. If TMIN is set to a value less than the time of the automatic stop criteria, then FLACS-CFD will run (whenever possible) until the automatic stop criteria are met.

Some examples of different Minimum time and Maximum time settings follow:

Automatic stop criteria are used if the cs-file has these settings:

TMIN -1

TMAX -1

In such cases, use STEP="KEEP LOW" to keep the time step small after the explosion and to prevent smearing of the pressure waves (see Timestep code). Example cs-file setting are:

TMIN 3

TMAX -1

These settings will stop the simulation at 3 s unless more than 10 % of the fuel is still present. The appropriate TMIN (Minimum time) depends on the distance to the point of interest and the time of the explosion peak pressure.

By prescribing

TMIN -1

TMAX 100

the simulation will stop at 100 s.

Note:

Only available if Show advanced is checked.

The value entered for Last timestep is saved in the scenario file as LAST. This stop criterion is based on the maximum number of iterations allowed for the simulation. The default value set by CASD is -1, which means that there is no limitation to the number of iterations. This parameter is particularly useful when the steady state solver is used. The dump snapshot is written automatically when the LAST iteration is reached and the simulator exits normally.

Note:

Only available if Show advanced is checked.

The number entered for Load number is saved in the scenario file as LOAD. This setting makes it possible to load a dump snapshot from a file (either from the CGNS file or the rd-file). It is equivalent to legacy option NLOAD in the cc-file. The default value set by CASD is -1, which means that no snapshot will be loaded. Otherwise, the dump snapshot denoted by LOAD will be loaded. If LOAD is set to 0, then the simulator will load the last available dump snapshot.

Load number setting in the cs-file:

LOAD 2

What happens:

Load number setting in the cs-file:

LOAD 0

What happens:

Note:

Only available if Show advanced is checked in flacscfd.

The string entered for Load job name is saved in the scenario file as JLOAD. This makes it possible to change the name of the CGNS file that the dump snapshot is loaded from. When JLOAD is specified in the cs-file, the simulator appends ".cgns" to the end of the provided string, and loads the dump snapshot from the cgns file that corresponds to the resulting filename. When JLOAD is not specified in the cs-file, the current job number is used.

Note:

When grids defined in the grid file differ from those in the CGNS file that contains the dump snapshots, the name of the CGNS file must be set to the string entered for JLOAD, and this must differ from the current job name.

If JLOAD is set, then the history of the simulation cannot be kept using KEEP OUTPUT in a setup file.

LOAD and JLOAD settings in the cs-file:

LOAD 2

JLOAD "dispersion_results"

What happens:

This is a Courant-Friedrich-Levy number based on sound velocity. The value of CFLC connects the simulation time step length to the control volume size through signal propagation velocity (in this case the velocity of sound), in the following way:

Each time step length is chosen so that sound waves may propagate only a limited distance, which is the average control volume length multiplied by the value of CFLC. The default value set by CASD is CFLC=5 for explosion simulations. The time step limit imposed by this criterion is normally dominant in the early phase of an explosion, when flow velocities and combustion rate are still low (see also CFLV).

Simulation results may change with this parameter, and it is therefore not recommended to change its value for explosion simulations (since this would nullify Validation). If convergence problems occur (a rare occurrence), then CFLC may be reduced by a factor of 2. However, other problems should be ruled out first. Large changes to the CFL number (e.g., an order of magnitude) are never recommended for normal simulations.

For dispersion and ventilation simulations, the default value of CFLC=10 is recommended. This can be increased by the grid refinement factor (if applicable). If the grid is refined near the leak by a factor of 5, then using a CFLC number of 105=50 may be considered (a lower value should be used in case of stability problems).

For fire simulations, the default value of CFLC=20 is recommended, however if stability issues are encountered then this can be halved to make the calculations more stable.

For far-field blast simulations, this should be combined with STEP="KEEP LOW" to keep the time step short, even after the explosion is outside the ”core” area, to reduce smearing of the pressure waves (more information is given Timestep code).

This is a Courant-Friedrich-Levy number based on fluid flow velocity. The value of CFLV connects simulation time step length to control volume dimension through signal propagation velocity (in this case the fluid flow velocity), in the following way:

Each time step length is chosen so that the fluid may propagate only a limited distance, which is the average control volume size multiplied by the Courant number. The default value set by CASD is CFLC=0.5 for explosion simulations. The time step limit imposed by this criterion is normally dominant in the later phase of an explosion, when flow velocities and combustion rate are high (see also CFLC).

Simulation results may change with this parameter, and it is therefore not recommended to change its value for explosion simulations (since this would nullify Validation). In rare cases where convergence problems occur, then CFLV may be reduced by a factor of 2. However, other problems should be ruled out first. Large changes to the CFL number (e.g., an order of magnitude) are never recommended for normal simulations.

For dispersion and ventilation simulations, the default value of CFLV=1 is recommended, and for fire simulations, the default value of CFLV=2 is recommended. A lower value should be used in case of stability problems.

Some additional cosiderations are required when setting CFLV for the incompressible solver, these are detailed in Time step for the incompressible solver .

Note:

Only available in flacscfd.

The value entered for Solver mode is saved in the scenario file as MODE. Solver mode is set to TRANSIENT by default which is the recommended setting for most simulations, especially these involving transient phenomena. If the solver mode is set to STEADY, the steady-state solver is activated. Steady-state solver switches off the CFL stability criterion in the time step determination and ignores the CFLC and CFLV settings. The steady-state solver ignores the TMAX (Maximum Time) stop criterion by default, and uses the convergence stop criteria if CHECK CONVERGENCE (Check convergence) is enabled. Additionally, the maximum number of iterations can be set using the LAST (Last timestep) stop criterion. FLACS-CFD writes the dump snapshot automatically on either convergence or reaching the Last timestep stop criterion.

Note:

Using the steady state solver, a steady state solution can be obtained in a fraction of time required for simulations in transient mode. However, in some cases the solution may diverge. This was observed in simulations involving high mass flow diffuse leaks.

Note:

Only available in flacscfd.

The value entered for Enable DDT detection is saved in the scenario file as DDT. The default value set by CASD is AUTO, which means that detonation will be triggered automatically for hydrogen explosions if DPDX (DPDX) is higher than 1. If Enable DDT detection is set to Off detonation will not be triggered. The time at which DDT is triggered can be modified using DDT TIME (Force DDT at time).

The detonation solver is an engineering approach to simulate detonations. When detonation is activated the maximum speed is allowed to exceed sonic speed and FLACS-CFD can represent supersonic flow. The time step is reduced by a factor of 5 and the burning velocity is set to a constant value.

In order to simulate detonation for other fuels than hydrogen, Enable DDT detection has to be set to On.

Note:

Only available in flacscfd.

The value entered for Force DDT at time is saved in the scenario file as DDT TIME. The default value set by CASD is -1, which means that the detonation solver will be triggered for hydrogen explosions when DPDX 1. If a DDT TIME is specified, the detonation solver will be triggered independently of the DPDX value and the fuel used.

Some examples of different Enable DDT detection and Force DDT at time settings follow:

Automatic trigger of detonation when DPDX exceeds 1 if the cs-file has these settings:

DDT "AUTO"

DDT_TIME -1

\pragraph DDTDDTTimeEx2 Example 2: Hydrogen explosion simulation with specific trigger of detonation

Automatic trigger of detonation when time exceeds 0.02 seconds if the cs-file has these settings:

DDT "AUTO"

DDT_TIME 0.02

Automatic trigger of detonation when DPDX exceeds 1 if the cs-file has these settings:

DDT "On"

DDT_TIME -1

Note: Automatic trigger of detonation for non-hydrogen explosion scenarios is not recommended, since the DPDX threshold would be hightly conservative for some fuels (for instance, hydrocarbons).

Automatic trigger of detonation when time exceeds 0.02 seconds if the cs-file has these settings:

DDT "On"

DDT_TIME 0.02

Note:

Only available when Solver mode (MODE) is set to STEADY in flacscfd.

The values set for Underrelaxation P and UVW are saved in the scenario file as UNDERRELAX P and UNDERRELAX UVW, respectively. These two parameters set numerical underrelaxation factors for continuity and momentum equations. They should be left unchanged unless user experiences stability or convergence problems. The stabilising solution describes how UNDERRELAX P and UNDERRELAX UVW can be used to stabilize the solution.

Note:

Only available when Solver mode (MODE) is set to STEADY in flacscfd.

Enabling this setting by checking the box in CASD writes CHECK CONVERGENCE=1 to the cs-file. This activates a convergence stop criterion. By default, the criterion is enabled when the steady-state solver is used, and disabled when the transient solver is used. If the user sets CHECK CONVERGENCE=0 for a simulation using the steady-state solver, then only the LAST (Last timestep) stop criterion is used. The dump snapshot is written automatically on convergence and the simulator exits normally.

Note:

Only available if CHECK CONVERGENCE (Check convergence) is enabled and MODE=STEADY (Solver mode) in flacscfd.

The value set for Convergence tolerance is saved in the scenario file as CONVERGENCE TOLERANCE_ . Convergence tolerance can be defined for the following convergence criteria:

The default values of convergence tolerance are conservative and defined such that in most cases the results should converge to the steady state solution in reasonable time. However, experienced users are encouraged to change them. Setting value of the convergence tolerance to 0 disables checking convergence for the respective criteria.

Note:

Only available if Show advanced is checked.

The value set for Timestep code is saved in the scenario file as STEP. It is possibile to specify different time stepping options, normally to impose additional restrictions on the time step length. The values accepted by STEP are summarised in the following table.

Table 3.22: Options regarding the time stepping, specifiable with the STEP keyword in the cs-file. The options having a = require a real value of the unit specified in the table.

Keyword

Description

Unit

C MAX=

upper bound for the sound wave velocity to be used in computing the time step from CFLC

[m/s]

DT FIX=

fixed time step to be used, overwrites CFL criteria etc.

[s]

DT MIN=

lower bound for the time step

[s]

KEEP LOW

prevent the time step from growing when explosion calms down; recommended for calculations of far-field blast propagation

-

L FIX=

use the specified grid-cell size as basis for time step determination and ignore possible local grid refinement; this can be used instead of increasing the CFLC number as a result of grid refinement

[m]

V MIN=

lower bound for the flow velocity to be used in computing the time step from CFLV; prescribing V MIN switches off the CFLC criterion in the time step determination; for the incompressible solver the default is V MIN=1

[m/s]

Note:

Only available if Show advanced is checked.

Any values entered as Special control keys are saved as KEYS in the scenario file. This provides the option for entering setup file options directly in CASD, e.g.

AMUL=0.6e-5

sets new value for the laminar viscosity. Multiple values are accepted using comma separation in the cs-file:

KEYS = "PR_BUO=0.9,AMUL=0.6e-5"

This string sets a new value for the Prandtl-Smith number in buoyancy term and sets a new value for the laminar viscosity (default AMUL=2.0e-5).

KEYS="PS1=01" removes the criterion in FLACS-CFD that the maximum speed cannot exceed sonic speed (imposed due to the porosity concept) and ensures that FLACS-CFD can represent supersonic flow.

This is essential for the proper description of the shock wave that results from a vessel burst with high initial pressure.

KEYS="RESET=11" ensures the consistent conversion of the three variables MIX, H, and TAU (cf. the guidance about the conversion option for rdfile utility), and also resets the turbulence level to quiescent (either the default or specifically set values of KIN0, EPS0). KEYS="RESET=10" also requires consistent conversion of the three variables, but turbulence is not reset to quiescent. Finally, KEYS="RESET=01" resets the turbulence level to quiescent, but no consistent conversion of the three variables MIX, H, and TAU is carried out.

KEYS="KIN0=1.0E-03" sets the quiescent level for turbulent kinetic energy per unit mass (here, for example, to the value 10-3 [m2/s2]).

KEYS="EPS0=1.0E-03" sets the quiescent level for the rate of dissipation of turbulent kinetic energy per unit mass (e.g. to the value 10-3[m2/s3] in the above specification).

It is possible to change the constants in the k - ε turbulence model by setting new values for:

CMY Changes Cµ in the equation for effective viscosity . Default value = 0.09.

CEPS1 Changes Cin the equation for production of dissipation. Default value = 1.44.

CEPS2 Changes Cin the transport equation for dissipation. Default value = 1.92.

CEPS3 Changes Cin the equation for production of dissipation. Default value = 0.8.

PR K Changes σk in the transport equation for turbulent kinetic energy. Default value = 1.0.

PR EPS Changes σε in the transport equation for dissipation. Default value = 1.3.

PR FMIX Changes σfmix in the transport equations for mixture fraction, fuel and enthalpy. Default value = 0.7.

PR BUO Changes σb in the equation for turbulent production due to buoyant forces. Default value = 0.9.

Warning:

FLACS-CFD is only validated using its default values. Do not change the constants in the turbulence model and transport equations without good reason and careful consideration.

This is a parameter that may be used to determine how often data for scalar-time plots are written to the results file during a simulation: data are namely stored every MODD time steps. CASD default is set to 1. This variable does not influence simulation results, only the amount of data stored.

This is normally not used in explosion simulations, but a value of MODD=10 (or higher) may be used for long dispersion simulations.

This is a parameter that may be used to determine how often data for field plots are written to file during a simulation: data are namely stored at given fuel levels where NPLOT is the number of fuel levels equally spaced between zero and a maximum. Fuel level is defined as the current total mass of fuel divided by the initial total mass of fuel. This output mechanism is not active in the case of a gas dispersion simulation (leaks are specified). This variable does not influence simulation results, only the amount of data stored.

This is the time interval (in seconds) for field output. This is useful in gas dispersion simulations and also in gas explosion simulations when frequent output is required. The field output file will become very large if DTPLOT is set small. This variable does not influence simulation results, only the amount of data which is stored.

Note:

Only available if Show advanced is checked.

This parameter turns on the incompressible solver in Flacs.

Note:

Only available if Show advanced is checked.

This setting is saved in the scenario file as WALLF. This is a control switch that specifies the use of wallfunctions in FLACS-CFD. Wall-functions are used to resolve the effect of momentum and thermal boundary layers on the momentum and energy equations in near wall regions. In the scenario file the following turns Wall-functions on and off:

The CASD default value of WALLF is set to 1. This parameter will influence the simulation results.

When WALLF=1, wall functions are implemented, following the theory in (Sand & Bakke, 1989). A slightly modified version of this wall-functions procedure is employed when WALLF=2. However, no validation work for WALLF=2 is available.

The default value of WALLF=1 should always be used.

Note:

Only available if Show advanced is checked.

This setting is saved in the scenario file as HEAT SWITCH. This parameter controls activation of the thermal attributes on objects in Flacs.

Except for fire simulations, the default choice is off as large scale explosions are not much influenced by heat loss. Turning on HEAT SWITCH will let walls and objects have background temperature, and if gas temperature changes, some heat transfer into or out of gas will take place. This is useful for small-scale confined explosions and dispersion with important heat effects. This can be combined with radiation models to account for radiative heat losses. For fire simulations the default choice is on. When deactivated, no heat radiation is calculated.

If HEAT SWITCH is activated, all solid surfaces will be initialised with the ambient temperature. Further heat objects can be specified at different temperatures using the Heat file.

For both Gas explosion and fire simulations, the radiation model can be activated in the separate Radiation scenario section. When the Radiation model is enabled, the HEAT SWITCH is activated in the solver (override the cs-file settings).

See also:

Refer to Radiation model for a more detailed description.

Note:

Only available if Show advanced is checked.

This setting is saved in the scenario file as SPLIT CGNS. This parameter controls splitting of the CGNS file. If splitting is disabled, then all data are written to a single JOB> .cgns . By default, splitting is enabled for all 1D, 3D and Dump output. When splitting is enabled, the main CGNS file JOB> .cgns contains links to many smaller, incrementally written output files in the <JOB> .output/ directory. The default setting addresses most of the issues common for large binary files: i.e., risk of data corruption, incremental downloads, and ease of archiving.

Note:

Only available if Show advanced is checked, and if the field alredy exists in the file.

This setting is saved in the scenario file as CONVERGENCE STRATEGY. This parameter controls activation of the rewind-restart feature

This section in the scenario menu allows experienced users to prescribe CFL numbers that vary during the course of a simulation. The values are written to a cn-file for the current job number.

See also:

Time dependent CFL file

A runtime simulation control file (cc-file) can be written from CASD using the Dump/load settings section. To open this section of the scenario menu, right-click in the scenario menu, then select Dump/load settings.

Figure 3.21: Right-click into the scenario menu to activate the Dump/load settings section.

In the left column of the editor, you can insert cc-file keywords using a drop-down menu. In the right column, the corresponding numerical value is set. For adding or removing rows from the cc-file, right click

in the dump/load settings editor, then select Add row or Delete last row. Note that NDUMP must not be set to 8887 or 8888 since these are reserved dumpids that are used for creating restart data dumps.

IDUMP FDUMP

TOUTF

Command

NDUMP

TDUMP

NDUMP

NDUMP

TDUMP ~

NLOAD-

NDUMP

TDUMP

Command

Value

Value

"DUMP

卜                 Dumpload settings

卜                 Dumpload settings

Figure 3.22: Left: to add or delete rows right-click in the dump/load settings menu; right: the relevant command can be chosen from a drop-down menu, and the associated value entered in the right column.

Attention:

When saving the scenario, the cc-file is written only if the Dump/load settings menu is enabled. If the scenario is saved while the Dump/load settings menu is disabled, then any existing cc-file is deleted!

In the Boundary condition menu, you must specify boundary conditions for the outer boundaries of the simulation domain. The lower boundaries in X-, Y-, and Z-direction are denoted by XLO, YLO and ZLO respectively, and the upper boundaries likewise by XHI, YHI, ZHI. Recommended boundary conditions are as follows:

EULER: Euler equations

NOZZLE: Nozzle formulation

PLANE WAVE: Plane wave condition

WIND: Wind inflow or outflow

The SYMMETRY boundary condition is generally not used for realistic geometries. In addition, it is also possible to choose EQCHAR, and BERNOULLI, but these boundary conditions are generally not recommended.

Remarks:

Table 3.23: Recommended boundary conditions per simulation type.

dispersion/ventilation

explosion: confined

explosion: unconfined/far-field

EULER/NOZZLE   +

solid surface

ground/sea

ground/sea

ground/sea

EULER

-

all other

-

NOZZLE

outflow

-

-

PLANE WAVE

-

-

all other

WIND

inflow/parallel boundaries

-

-

The details of various boundary conditions are given below.

The inviscid flow equations (Euler equations) are discretised for a boundary element. This means that the momentum and continuity equations are solved on the boundary in the case of outflow. The ambient pressure is used as the pressure outside the boundary. A nozzle formulation is used in the case of inflow or sonic outflow.

Warning:

The EULER boundary condition may give too low explosion pressures in unconfined situations due to reflections from the boundary. In such cases, the Simulation volume should be extended and the Plane wave boundary condition should be applied.

A nozzle formulation is used for both sub-sonic inflow and outflow and sonic outflow. This condition is suitable for porous areas with small sharp edged holes or grids (e.g. louvres and gratings). A discharge coefficient is calculated from the area porosity and a drag coefficient. NOZZLE condition has shown to give a bit higher explosion pressures than EULER, but it is more robust.

Warning:

The NOZZLE boundary condition may give too low explosion pressures in unconfined situations. In such cases, the Simulation volume should be extended and the Plane wave boundary condition should be applied.

This boundary condition was designed to reduce the reflection of the pressure waves at open boundaries that occurs when using EULER or NOZZLE. The pressure wave reflection is caused by setting a fixed pressure at the boundary. The PLANE WAVE boundary condition extrapolates the pressure in such a way that reflections are almost eliminated for outgoing waves. However, the outflow is more restricted than for the EULER or NOZZLE conditions.

Attention:

The pressure may stabilise at a slightly elevated level after an explosion. For low confinement scenarios, it is recommended to use the PLANE WAVE boundary condition and it is important that the grid recommendations are followed to ensure that there is sufficient distance between the total simulation boundary and the combustion region (or the high pressure region for blast scenarios) to avoid any unphysical boundary effects.

Warning:

In semi-confined situations where the boundaries are close to the vents, PLANE WAVE should not be applied. PLANE WAVE boundary condition requires a large simulation volume to work and flames should never reach the boundary.

The WIND boundary condition models an external wind field. Velocity and turbulence profiles are specified at the wind boundaries, either by setting some turbulence parameters manually or by choosing one of the atmospheric stability classes, see Pasquill class. The WIND boundary condition is particularly applicable to dispersion scenarios. It is possible to apply WIND both on inflow boundaries and on boundaries where the flow is parallel to the boundary.

Warning:

In cases where a generated internal flow has a strong impact on the boundary flow, e.g. gas explosions, WIND should not be used.

Figure 3.23: Specification of Wind boundary condition

Wind setup

Set wind direction in degrees from north and wind speed

Wind direction

45.0°

0 degrees is wind blowing in the -Y direction. 90 degrees is wind blowing in the -X direction.

Wind speed

Reference height

8.0 m/s

10.0 m

-

Location above the ground for the given wind speed.

Wind buildup time

Temperature

Pasquill class

0.0 s

20.0 ℃

D (neutral)                                                      ▼

Refer to FLAGS manual for limitations of using Pasquill classes A,B and C.

Ground roughness

0.0002 m                                               ▼

Roughness length for wind profile.

Boundary condition

Nozzle                                                       

Boundary condition for non-wind boundaries. Nozzle is recommended.

| < Back Finish Cancel

Figure 3.24: Using the wind wizard.

The wind wizard will set the boundary conditions according to the guidelines.

V = U0 £2 An^n n

(3.2)


between the isotropic fluctuating velocity, uand the mean flow velocity U°:

It


u


Uo


(3.3)


It is used to calculate the value for turbulent kinetic energy, k = 3/2u2, at the boundary.

Attention:

It is not necessary to set RELATIVE TURBULENCE INTENSITY for inflow boundaries when a Pasquill class is specified. When a Pasquill class is set, FLACS-CFD will automatically create profiles for velocities and turbulence parameters at the boundary.

It is important that the turbulence length scale is not assigned too high a value. As a guide, it should not exceed 10% of the smallest gas cloud dimension or 50% of the grid cell size. A turbulence length scale is not required when a Pasquill class is set.

Using a setup file, you can also specify a fluctuating wind field as boundary condition. By using fluctuating wind fields it is possible to mimic time-varying wind conditions. Two different frequencies in each horizontal direction and one in the vertical direction can be used:

VERSION 1.1

$WINDGUST

USE=.TRUE.

$END

To change the frequencies of the fluctuations, more options must be specified:

VERSION 1.1

$WINDGUST

USE = .TRUE.

AMP = 2.40, 1.90, 1.84

, 2.40, 1.90, 0.00

TAU = 15.0, 10.0, 10.0

, 70.0, 50.0,  0.0

$END

Two different fluctuating periods are assumed along (15 s and 70 s) and across (10 s and 50 s) the wind direction. In the vertical direction a single period of 10 s is used. Fluctuations are done as harmonic periods with average velocity fluctuation equal to 2.4 (along), 1.9 (across) and 1.3 (vertical direction; here the constant is multiplied by 2 since only one period is used) times the friction velocity, u.

Remarks:

Except for in model validation studies, fluctuating wind fields are not used very often.

In 'tracer' mode Flacs will only solve a passive transport equation. This option can be useful when a dispersion of neutral gas (or small quantities of gas) shall be simulated in an established wind field. Below is an example of how to enable the tracer mode using the Setup file :

VERSION 1.1

$SETUP

KEYS="TRACE=T:100,DT_MUL=Y:5"

$END

The above setup file (or the KEYS defined in the scenario file) will simulate normally until time=100 s, thereafter only the fuel transport equation will be solved (flow field will be kept constant). When the flow field equations are switched off at 100 s, the time step is at the same time increased by a factor of 5 if using the DT _ MUL=Y:5 string.

Warning:

This option should be used with care!

To simulate the effect of an inversion layer, it is possible to define a cold or hot temperature region (layer) in FLACS-CFD. One can for instance define a cold valley by using the setup file as described in previous sections. Boundary conditions can not take a temperature profile.

It is generally advantageous to place the outer boundaries of the simulation domain far away from the geometrical extent, but limitations of memory and computing speed may restrict the practical size of the problem, and in most cases one is forced to compromise between quality and cost.

When simulating an explosion above the sea, the sea surface is generally modelled as a rigid, totally blocked surface (a solid plate with area porosity equal to zero). In the real, physical world, it is likely that the water surface would yield to some extent when hit by a blast wave (despite the water itself being close to incompressible). However, the sea surface is generally expected to move only a limited distance during the time frame of a blast wave hitting it (period of pressure pulse is typically of the order of 1-2 hundred milliseconds), and this is unlikely to be sufficient to significantly affect the simulated overpressure in the central region of the explosion (assuming that there is some distance between the sea surface and the central region). Similar arguments can be made for other liquid-gas interfaces.

The following approach is recommended when running an explosion simulation based on dispersion dump file.

There may be concern about reflections of pressure from WIND boundaries, however at the time the pressure waves hit the boundaries one should be careful trusting the continued pressure curves also with EULER due to the strong negative reflected pressure sent back into the domain.

What one will experience with this suggested best practice is that everything is fine until pressure waves hit and get reflected from the WIND boundary. If the boundary conditions are changed one will see unphysical behaviour immediately when the explosion simulation starts.

Initial conditions set values for turbulence fields, temperature and pressure at the beginning of the simulation. Information about the gravity conditions, parameters for the atmospheric boundary layer and the composition of the air is also set here.

The default values are as follows:

UP-DIRECTION

0

0

GRAVITY_CONSTANT

9.8

CHARACTERISTIC_VELOCITY

200.

0

RELATIVE_TURBULENCE_INTENSITY

0.3

TURBULENCE_LENGTH_SCALE

0.05

TEMPERATURE

20.0

AMBIENT PRESSURE

100000

AIR

"NORMAL"

GROUND_HEIGHT

0

GROUND ROUGHNESS

0

REFERENCE_HEIGHT

0

CANOPY_HEIGHT

0

LATITUDE

0

SURFACE_HEAT_P1

0

00

SURFACE_HEAT_P2

0

00

MEAN_SURFACE_HEAT_FLUX

0

PASQUILL_CLASS

"NONE"

Attention:

Gexcon recommends that the default values are used for all explosion simulations where the appropriate values are not known.

This is a three-component vector defining the upward direction, i.e. opposite of the acceleration due to gravity. The three components denote the spatial components x, y, and z, respectively. It is possible to define any direction, not only directions aligned with the main axes. The vector does not need to be of unit length.

GRAVITY CONSTANT is the magnitude of the gravitational acceleration, normally 9.8m/s2. Setting a zero value for this parameter means that there are no gravitational influences on the flow. Panels with inertia are also influenced by this parameter if the direction of panel release is in the direction of the Up-direction, see also Pressure relief panels .

CHARACTERISTIC VELOCITY, U0, is the mean flow velocity, and is used to find values for initial turbulence fields. It should take a positive or a zero value, see also Initial turbulence for the equivalent gas cloud.

RELATIVE TURBULENCE _ INTENSITY, IT, is the ratio between the isotropic fluctuating velocity, u’, and the mean flow velocity, U0 :

IT


u

U0


(3.5)


The initial value for RELATIVE_TURBULENCE INTENSITY is used, together with Characteristic velocity, to calculate the turbulent kinetic energy, k = 3/2u2, at the beginning of the simulation, see Initial turbulence for the equivalent gas cloud.

Remarks:

If RELATIVE TURBULENCE _ INTENSITY is set to zero and a Pasquill class is provided, then the initial values for the turbulent kinetic energy, k, and its dissipation, ε, are set to be similar to their values at the wind boundaries.

TURBULENCE_LENGTH_SCALE, 'lt, is a typical length scale that is used to calculate the dissipation rate of the turbulent kinetic energy, £

C'lt

(3.6)


It is generally around half of the hydraulic diameter for internal flows. It is important that the initial value for the TURBULENCE LENGTH SCALE is not assigned too high a value. As a guide, for explosion simulations it should not exceed 10% of the smallest cloud dimension or 50% of the grid cell size, see Initial turbulence for the equivalent gas cloud.

When the initial values for all three parameters:

are set to the 0 and no Pasquill class is provided, then the turbulent kinetic energy per unit mass, k, is set to 0.001 m2/s2 and the dissipation rate for the turbulent kinetic energy, £, is set to 0.001 m2/s3 (these default values may be changed using a setup file).

If the inital values for all three parameters are set to positive values, then initial values for k and £ will be calculated and used in preference to the default values (if k and £ are calculated to be exactly zero, then FLACS-CFD will set them to a very small number to prevent instability).

The initial temperature, T0 in °C. The default value is T0 = 20.0°C

AMBIENT PRESSURE, P0 is the initial pressure in the simulation and the pressure outside the simulation volume. The default ambient pressure is =100000 Pa = 1 bar.

AIR is used to define the composition of the air. "NORMAL" denotes a standard composition of 20.95% oxygen and 79.05% nitrogen in mole fractions. The composition of air can be changed by setting an other oxygen content, either as a mole fraction:

AIR         "25%MOLE"

mass fraction:

AIR         "10%MASS"

or volume fraction:

AIR         "10%VOLUME"

Changing the air composition will influence the lower flammability limit and upper flammability limit.

In the Wind boundary condition, the reference wind speed, Uq and the direction of the wind are specified. In addition, information about the ground conditions is needed to set inlet profiles for velocity and turbulence parameters. It is possible to specify an atmospheric boundary layer stability class, Pasquill class. Then turbulence parameter profiles are generated at the wind boundaries. If no Pasquill class is given, uniform values for k and ε are obtained on the boundary according to the expressions in Relative turbulence intensity and Turbulence length scale.

The velocity profile at the wind boundaries is given by the following expression:

u(z) = / ^ (in (T+z0)- %(z)) Uq

if zq > 0

if Zq = 0


(3.7)


where z is the height above the ground, Zq is the atmospheric roughness length, zd is the canopy height (displacement height) and u is a friction velocity. For the neutral and none Pasquill class, u is defined by:

u


___________Uqk___________

(3.8)


in ((Zrf£d)+ Z0 ) ^u(Zref)

ψu equals zero for none and neutral stability class (Pasquill class D), see Wind boundary.

Attention:

In FLACS v9.1 and later versions, vertical velocity and turbulence profiles start at the ground or at a given height (canopy height) above the ground. This is different from FLACS v9.0 and earlier version where the vertical profiles start at a given height (ground height).

KEYS = "WIND_MODEL=2"

A is very unstable,

B is unstable,

C is slightly unstable,

D is neutral,

E is slightly stable,

F is stable.

An overview when to apply the different Pasquill classes is given in table Pasquill stability classes.

Table 3.24: The Pasquill stability classes

Wind speed

Day, strong sun

Day, moderate sun

Night, clouds >50%

Night, clouds <50%

< 2m/s

A

B

E

F

2 - 3 m/s

A-B

B-C

E

F

3 - 5 m/s

B

B-C

D

E

5 - 6 m/s

C

C-D

D

D

> 6 m/s

C

D

D

D

Attention:

One should be careful while using Pasquill classes A-C since they are unstable, and can lead to stability problems with the simulations. The results may not be optimal when these stability classes are used and in some cases, uncontrolled turbulence “exploding” leaks is observed. Pasquill class D is recommended in these cases. They are also more sensitive to increased time step (CFL-numbers) than Pasquill classes D-F. It is recommended to choose Pasquill class D instead of A, B or C.

Table 3.25: Typical values for aerodynamic roughness length

Terrain description

z0 (m)

Open water, fetch at least 5 km

0.0002

Mud flats, snow; no vegetation, no obstacles

0.005

Open flat terrain; grass, few isolated obstacles

0.03

Low crops; occasional large obstacles

0.10

High crops, scattered obstacles

0.25

Parkland, bushes, numerous obstacles

0.5

Regular large obstacle coverage (suburb, forest)

1.0

SURFACE HEAT P1 is a vector Z1 U1 T1, where Z1 is the altitude, U1 is the velocity at Z1 and T1 is the temperature at Z1

This section allows you to define a box shaped cloud region and the gas concentration and composition. The menu is shown below:

Figure 3.25: The scenario menu that allows to define the gas composition and volume.


This menu corresponds to the scenario file section:

POSITION_OF_FUEL_REGION

0.0, 0.0, 0.0   (m)

0.0, 0.0, 0.0   (m)

""

<MENU>

1.0, 0.0


DIMENSION_OF_FUEL_REGION

TOXIC_SPECIFICATION

VOLUME_FRACTIONS

EQUIVALENCE_RATIOS_(ER0_ER9)

The position of the cloud is the location of the minimum point ( xmin , ymin, zmin) of the box, and the sizes ( xsiz, ysiz, zsiz) give the side lengths of the box (only positive values are allowed for the sizes). On expanding the Volume fractions entry, the gas composition can be specified by entering the volume fractions of the listed gas components. The concentration is given by the equivalence ratios (ER0 inside the gas cloud and ER9 outside).

Example of the cs-file for fuel consisting of methane only:

METHANE                         1.0

TOXIC                             0

The Gas composition and volume section has a button at the bottom named Edit volume fractions that opens a Volume fractions editor dialog which is used for modifying the selection of species in the volume fractions list. This dialog contains a list of ”Available species” that can be added to a list of ”Used species” by double clicking on an available specie, or by selecting a species and clicking on the right-arrow between the two lists. Species can be removed from the ”Used species” list by selecting a specie and clicking on the left-arrow. The list of available species includes a ”Properties” column, with icons that indicate if a species is flammable and/or toxic, and a ”SLAM Data” column that uses a check-box to indicate if SLAM data is available. User species (if defined in the User species section) and the Toxic specie cannot be deleted from the list of used species. The volume fractions editor dialog is shown in the figure below.

Figure 3.26: The volume fractions editor dialog, used for modifying the list of species in the Volumes fractions section


Attention:

USERSPEC 1, USERSPEC 2, USERSPEC 3 can be used as custom user species. Properties are updated automatically when species are added, deleted or renamed in User species section. The volume fraction values need to be set by the user.

The sum of the volume fractions does not need to be 1. FLACS-CFD will interpret the values as volumetric parts (i.e. normalisation is done in FLACS-CFD by dividing each value by the sum of all values).

For a mixture of two or more gas components, the combustion properties are calculated as a weighted average of all the selected components, taking into account the mole (volume) fraction and the relative consumption of O2 (parameter a in the table above). This has shown to give the proper blending of the component properties into mixture properties.

The laminar burning velocity of a gas mixture in FLACS-CFD depends on the concentration of the fuel relative to the concentration of oxygen as well as on the type of fuel. A widely used measure for the relative fuel-oxygen concentration is the Equivalence ratio (ER) which is defined as follows:

er = e


(mfuel/m oxygen) actual

(m fuel /moxygen) stoichiometric


(Vfue/Voxygen) ad

uel /Voxygen ) stoichiometric


(3.9)


The dependency of the laminar burning velocity (Slam) is illustrated for different species as function of the equivalence ratio ER in the figure below.



Figure 3.27: Laminar burning velocity for individual gas components. Hydrogen, acetylene and ethylene have the three highest laminar burning velocities, and notably wide ranges of flammability, too.


Attention:

The correlation in FLACS-CFD accounting for initial pressure effects on the flammability limits is not valid for pressures significantly below atmospheric values. For these particular cases, you can define your own gasdata file, if you have access to reliable experimental data. Similarly, check in the literature whether the properties of mixtures of different fuels are reasonable. A modified gasdata file might be used where unphysical results are observed.

Warning:

The stoichiometry model implemented in FLACS-CFD describes combustion reactions in which carbon, hydrogen and sulphur atoms combine with oxygen (available in air or in the fuel itself) leading to combustion products. Presence in the fuel of other atoms that can react with oxygen or, in general, with chemical elements from the atmosphere or from the fuel, such as fluorine, is not taken into account in the stoichiometry model implemented in FLACS-CFD. For further guidance on simulating combustion of non-hydrocarbons, please contact FLACS-CFD support.

A special model for determining the laminar burning velocity (SLAM) and flammability limits LFL, UFL) for hydrogen-nitrogen gas mixtures was added in FLACS v10.9. This model yields more accurate values for SLAM, LFL and UFL when nitrogen is present in the gas mixture and resolves an issue related to overprediction of LFL for hydrogen-nitrogen mixtures in previous versions of FLACS-CFD. The new model is automatically activated when the gas mixture contains only hydrogen and some fraction of nitrogen, and for all other gas mixtures the old model is used by default. It is possible to override the automatic activation by giving the key 'SLAMCORR MODEL=1/2', where 1 = 'old' model and 2 = 'new' model. The new model uses a hydrogen-nitrogen specific lookup table and will therefore not work for any other mixtures. Note the new model has not yet been implemented in DustEx.

The simulation log file contains information about which model was activated: either

OR

Attention:

When modelling hydrogen-nitrogen gas mixtures, it is very important to verify that the 'new' model has been used, by verifying that the logfile includes: ”SLAMCORR MODEL = 2 (HYDROGEN-N2)”

It is possible to model the effect of toxic substances with FLACS-CFD. The toxic component is specified in the section GAS COMPOSITION AND VOLUME in the scenario menu or in the corresponding section in the cs-file. A description of probit functions and probability of death related to toxic substances, is also found in Sec. 5.2 ”Damage modelling” in TNO ’Purple book’.

The parameter TOXIC SPECIFICATION can be specified in one of the following ways:

The following predefined substances are available:

Table 3.26: Predefined toxic substances

Substance

a

b

n

Formula

Molar mass (g/mol)

Boiling point (°C)

Acrolein

-4.1

1

1

C3H4O

56.06

53

Acrylonitrile

-8.6

1

1.3

C3H3N

53.06

77

Allyl alcohol

-11.7

1

2

C3H6O

58.08

97

Ammonia

-15.6

1

2

NH3

17.0306

-33.34

Azinphos-meth

y-l4.8

1

2

C10H12N3O3PS2

317.32

200

Bromine

-12.4

1

2

Br2

159.808

58.85

Carbon monoxide

-7.4

1

1

CO

28.010

-192

Chlorine

-6.35

0.5

2.75

Cl2

70.906

-34.4

Ethylene oxide

-6.8

1

1

C2H4O

44.05

10.7

Hydrogen chloride

-37.3

3.69

1

HCl

36.46

-85.1

Hydrogen cyanide

-9.8

1

2.4

HCN

27.03

26.0

Hydrogen fluoride

-8.4

1

1.5

HF

20.01

19.54

Hydrogen sulfide

-11.5

1

1.9

H2S

34.082

-60.28

Methyl bromide

-7.3

1

1.1

CH3Br

94.94

3.56

Methyl isocyanate

-1.2

1

0.7

C2H3NO

57.1

39.1

Nitrogen dioxide

-18.6

1

3.7

NO2

46.01

21.1

Parathion

-6.6

1

2

C10H14NO5PS

291.3

375

Phosgene

-10.6

2

1

CCl2O

98.92

8

Phosphamidon

-2.8

1

0.7

C10H19ClNO5P

299.70

162

Phosphine

-6.8

1

2

PH3

34.00

-87.8

Sulphur dioxide

-19.2

1

2.4

SO2

64.07

-10

Tetraethyl lead

-9.8

1

2

C8H20Pb

323.44

84

You can specify one of these substances as the toxic component in the scenario file section GAS COMPOSITION AND VOLUME:

GAS_COMPOSITION_AND_VOLUME

POSITION_OF_FUEL_REGION

000 000 "Ammonia"

1

1E+30      0


DIMENSION_OF_FUEL_REGION

TOXIC_SPECIFICATION

VOLUME_FRACTIONS

TOXIC

EXIT VOLUME_FRACTIONS

EQUIVALENCE_RATIOS_(ER0_ER9)

EXIT GAS_COMPOSITION_AND_VOLUME

For a pure toxic release, specify ER0 = 1E+30, although the toxic substance might not be combustible.

This is not formally correct, but is a workaround and gives a mass fraction of one.

The alternative is to write a user-defined toxic data file (./toxic.dat):

: substance , a , b , n , formula , MolarMass(g/mol) , BoilingPoint(°C) "Acrolein"             -4.1   1.    1.     "C3H4O"  56.06  53.

="Acrylaldehyde"

If you specify a toxic substance under the parameter TOXIC SPECIFICATION without setting a TOXIC volume fraction, as for example:

VOLUME_FRACTIONS

USERSPEC_1                       1

TOXIC                              0

EXIT VOLUME_FRACTIONS

the entire defined gas composition is treated as the toxic substance and all toxic properties (e.g., TDOSE, lethality etc.) are calculated for the entire gas. This can be useful when for example doing pure toxic gas dispersion or toxic liquid evaporation studies, for which the regular toxic thermodynamic properties are not accurate enough.

Attention:

The first sign in the toxic data file must not be space or tab. Comments starts with #, ! or ' ' (space).

The scenario specification should then look as follows (in this case there is also a fraction of methane in the gas mixture):

GAS_COMPOSITION_AND_VOLUME POSITION_OF_FUEL_REGION DIMENSION_OF_FUEL_REGION TOXIC_SPECIFICATION

VOLUME_FRACTIONS

METHANE

TOXIC

EXIT VOLUME_FRACTIONS

EQUIVALENCE_RATIOS_(ER0_ER9)

EXIT GAS_COMPOSITION_AND_VOLUME


000 000

"Acrolein, data_file=./toxic.dat

1

9

1E+30      0


The substance properties can be specified directly in the GAS COMPOSITION AND VOLUME section:

TOXIC_SPECIFICATION "probit_constants=-4.1,1,1,molar_mass=56.06"

The keywords for the TOXIC SPECIFICATION are:

substance name of the toxic substance (or formula)

probit _constants =a,b,n. See the explanation in the section on the Toxic probit function PROBIT in the description of the Output variables for toxic substances.

molar mass =M

data file name of the datafile (default toxic data.dat)

The TOXIC SPECIFICATION string is stripped of spaces and converted to lowercase before parsing. The name of the datafile and formula are case sensitive.

Note that when a fuel component, e.g. H2S, is specified as a toxic species (TOXIC SPECIFICATION "H2S"), then the volume (mole) fraction of H2S should be specified for TOXIC, not H2S. Thus, if for example the volume fraction of H2S as part of the fuel composition is 0.01 (1.0%), then TOXIC 0.01 and H2S 0 should be specified as part of the parameters defined in VOLUME FRACTIONS (rather than TOXIC 0 and H2S 0.01). The same applies to other toxic fuel components, like CO.

Toxic species are modelled by changing the molecular weight of a general “representative” inert species (CO2) whose combustion parameters are not necessarily correct, especially for flammable toxic components. Therefore, when combustion parameters, like the flammability limits, are important, it is recommended to avoid using the model for toxic species. Similarly, since thermodynamic properties are not individually defined for each species, simulation with toxics must be limited to scenarios with no temperature differences (i.e. releases at ambient temperature and no hot/cold solid objects), or scenarios characterized by temperature differences but low toxic concentration.

Warning:

The implemented models for toxic components are limited to substances with purely gaseous behaviour. Toxic substances with a boiling point above ambient temperature will typically spread as a mist and their toxic effect could for instance require direct skin contact. Such effects are currently not handled by FLACS-CFD.

Attention:

A gas cloud with toxic components should not be specified in the GAS COMPOSITION AND VOLUME scenario section. To specify a given mass fraction in a predefined gas cloud use the cloud interface. Toxic specification cannot be used in combination with the fire solver and will give an error message when trying to run.

Attention:

This chapter is deprecated as FLACS CFD no longer includes a separate inert solver.

Nitrogen and CO2 are included as default (inert) fuel species in most variants of Flacs (except DustEx). Other inert gasses can also be included by defining a user species. For cases where a separate inert gas region needs to be defined, this can be done in the special inert variant of Flacs. To use this model select 'Simulation type' Inert.

Attention:

The correlations in FLACS-CFD accounting for the effect of having an inerted atmosphere (oxygen content less than standard atmospheric content), are not validated for all possible mixtures and combinations of added inert gases. For the alkanes, the validation shows good agreement with the available literature. However, the lower flammability limit of hydrogen inerted with CO2 or H2O may be over-predicted. Treat these mixtures with care, and possibly apply a modified gasdata file if unphysical results are observed.

The GAS COMPOSITION AND VOLUME menu has been extended to allow definition of FUEL and INERT regions (or clouds). This enables to specify shaped (rectangular or rounded) clouds, to specify the FUEL and INERT gas compositions, and to specify FUEL and INERT gas concentrations.

Gas composition and volunie

Property         |

Value                                               |

Fuel region

Position

w2.5j2.5j2.5m

Size

(5 x 5 x 5) m

Shape

也工2>

Volume fiactions

Equivalence ra...

Inert region

Position

Q, 口> m

Size

(10x10x10) m

Shape

0, O

iVol ume fiactions inert                                             j

Fraction mix inert

9L 6 O

Rule mix inert

二 + + j j

Figure 3.28: Inert gas composition and volume

It is possible to define one FUEL region and one INERT region. The position, size and shape of the regions can be defined, as well as the composition and concentration of gases. Take care to understand the mixing rules for the inert/fuel/air and the combination of regions.

The shape of the region defines if the region is rectangular (square), elliptical (rounded) or otherwise shaped (convex or concave). The shape parameters must be given for the three main directions (x,y,z):

Table 3.27: Shape parameters

Id

Description

0

box

1

diamond

2

elliptical (similar to the sphere equation: x2 + y2 + z2 = r2)

d/e/f

other shape (general ellipsoid equation: (x/a)d + (y/b)e + (z/c)f = 1)

A sphere has shape (2,2,2), a cylinder in the z-direction has shape (2,2,0), and a diamond has the shape (1,1,1). The larger the exponents are the closer to a box shape one comes, and the smaller the exponents are the closer to a cross one comes (except from 0 which gives a box).

The fuel composition is given by the volume fractions of species. The sum does not need to be 1, because the FLACS-CFD simulator will ensure this after reading the scenario file. Negative volume fractions are not permitted.

The most common hydrocarbon gases plus H2, CO, H2S and CO2 are available as fuel species. When using the FLACS-CFD inert application one should be aware that CO2 in the fuel is accounted for as an integrated part of the fuel, and is thereby a separate entity from the amount of CO2 in the inert.

The inert composition is given by the volume fractions of species. The sum does not need to be 1, because the FLACS-CFD simulator will ensure this after reading the scenario file. Negative volume fractions are not permitted.

Currently N2 and CO2 are available as inert species.

The VOLUME FRACTIONS INERT consist of 3 values where you enter the volume fraction for 3 of the 4 logical regions which are given by the combination of the FUEL and INERT regions (4 logical combinations of inside and outside the two exist):

Table 3.28: Inert gas regions

Value

Name

Description

1

INERT

inside INERT and outside FUEL region

2

FUEL

inside FUEL and outside INERT region

3

BOTH

inside FUEL and inside INERT region (the overlap region)

4

NONE

outside both FUEL and INERT (here ER9 gives the FUEL concentration)

By this means it is possible to make for example an inert cloud surrounding the fuel cloud. The values given are interpreted according to the mixing rules, they can be absolute values (=) or additive (+/-) or some other interpretation (mainly used for testing).

The figures below show some possible locations of the INERT and FUEL regions to illustrate the concept.

The mixing rule defines how the INERT is mixed with FUEL and AIR, the following key-words are recognised:

Table 3.29: Inert mixing rule keywords

Keyword

Description

=

set value as final fraction

+

add value

-

subtract value

=N2inAIR

use N2 content given for INERT as equivalent N2 in AIR

=CO2inFUEL

use CO2 content given for INERT as equivalent CO2 in FUEL

The RULE_MIX_INERT is a text string that contains the mixing rule for 3 of the 4 logical regions which are given by the combination of the FUEL and INERT regions (4 logical combinations of inside and outside the two exist, see illustration for how regions are combined). The text string should contain commas (1,2,3) separating the key-word for each of the regions: only INERT (1), only FUEL (2) and BOTH (3).


Fully separate INERT and FUEL regions

VOLUME_FRACTIONS_INERT: N2=l, C02=@

FRACTION_MIX_INERT = 1,0,0

RULE_MIXINERT = "=,+,+"

This will set pure N2 in the GREEN region,

RED region gets no addition of N2

WHITE contains normal air if ER9 = 0

Partially overlapping INERT and FUEL regions

Similar to above, plus the BROWN region gets no addition of N2, and ERO determines the amount of fuel.

FUEL region fully engulfed by INERT region Similar to above, ttie BROWN region gets no addition of N2, and ERO determines the amount of fuel. The fuel cloud is now engulfed by the inert cloud.

Figure 3.30: Example: Setting the N2 concentration


Fully separate INERT and FUEL regions

VOLUME_FRACTIONS_NERT: N2=l, C02=

FRACTION_MIX_INERT = 0.3,0,0

RULE_MIXINERT = "=N2inAIR,+,+"

This"willset N2=30%,02=70% in the GREEN region.

the RED region gets no addition of N2

WHITE contains normal air if ER9 = 0

Partially overlapping INERT and FUEL regions

Similar to above, plus the BROWN region gets no addition of N2, and ERO determines the amount of fuel.

FUEL region fully engulfed by INERT region Similar to above, the BROWN region gets no addition of N2, and ERO determines the amount of fuel. The fuel cloud is now engulfed by the 'new air1 with 30% N2 and 70% 02 RED has disappeared, and normal air is found in the WHITE region

Figure 3.31: Example: Setting the N2 concentration as if it was a part of AIR


Fully separate INERT and FUEL regions

VOLUME_FRACTIONS_INERT: N2=0, C02=l

FRACTION_MIX_INERT = 0,0.1.0

RULE_MIXINERT = "+,=C02inFUEL,+"

This will set CO2=10% of the original fuel amount and reduce fuel to 90% inside the RED region.

No other regions are affected (+0).

Partially overlapping INERT and FUEL regions

Similar to above, but only the RED region is modified, the part shown by the BROWN region is not changed (+0).

FUEL region fully engulfed by INERT region

Similar to above, but RED region has disappeared.

GREEN and BROWN contains no addition (+0), and RED is not visible and thereby unchanged.

Figure 3.32: Example: Setting the N2 concentration as if it was a part of FUEL

set the version by clicking the Parameters button in the RunManager, and set the FLACS-CFD version to ”2.6.0inert”.

To start a simulation on the command line:

Linux:

Windows:

One or several gas clouds can be defined for a Flacs simulation, either by specifying the characteristic data for some predefined cloud shapes, by entering the relevant data describing the (arbitrarily shaped) cloud directly in the scenario menu, or by pointing to an existing cloud file. These three ways will be described in the following.

Right-click into the main field of the Multiple or custom gas clouds scenario menu and choose Create cloud.

Figure 3.33: Left: The Multiple or custom gas clouds section in the scenario menu after right-clicking. Right: The Create new gas cloud dialogue box.

In the Create new gas cloud dialogue box, the shape can be selected from a drop-down box as one of the following: box, ellipsoid, cylinder, or custom. These are described below with their respective input parameters. All shapes require a position, which specifies the lower left front corner of the bounding box of the cloud (closest to the origin), and rotation angles with respect to the coordinate axes. Further, a subdivision parameter has to be specified; it determines the number of planar surfaces used to approximate curved shapes.

Figure 3.34: Example of a custom cloud in the shape of a half cylinder and how it was defined.

Figure 3.35: Example of a pyramidal cloud and how it was defined.

For more complicated shapes, or when the fuel mass fraction varies in a more general way over the volume than allowed by the predefined cloud shapes, CASD allows to define the cloud by a list of points with the fuel mass fraction given in each point. By right-clicking under the list of points, more lines can be added.

A cloud file can be specified in the Multiple or custom gas clouds part of the scenario menu. Details about the parameters and format of a cloud file can be found in the cloud file section.

The Pool section of the scenario menu defines the properties of a liquid spill on the ground or on water. When a pool is defined in CASD, a POOL section is added to the scenario file that is read by the simulator, and the pool is visualized as a semi-transparent disk. An example of a scenario file for a pool simulation (cs600000.dat3) is provided with the FLACS-CFD installation in the doc/examples/ex02 pool folder under the installation directory.

The models used for pool calculations are described in detail in the Pool model section. It is possible to derive a static pool from the default moving spill model. For a moving spill, the shallow-water equations are solved in two dimensions on the ground. Heat from the ground, the flow above the pool/spill, and the

radiation from the sun and/or fire determine the evaporation rate.

The composition of the liquid is read from the Gas composition and volume section of the scenario, so for a pool scenario, it is important to set:

EQUIVALENCE_RATIOS_(ER0_ER9) 1E+30, 0.0

The parameters that can be entered in this section in CASD are described in the following subsections.

This flag specifies whether a static or spreading pool will be simulated. If the box is checked, then STATIC POOL is set to one in the scenario file and a static pool will be simulated.

At present, only circular pools can be simulated. This field is written to the scenario file as POOL SHAPE.

This is the time in the simulation from which the pool is present, and the value is written to the scenario file as the value for START POOL. If START POOL is set to zero, then the pool will be assumed present from the beginning of the scenario.

This is the initial mass of the pool, before any evaporation or combustion, and is written to the scenario file as MASS POOL 0.

This is the rate of mass increase for the pool for a non-instantaneous spill. If entered here, then it is assumed to be constant for the duration of the spill and is distributed uniformly over the pool area. It is also possible to define a time-varying spill using an additional file, see Pool leakage file for details of this.

The X, Y and Z coordinates for the center of the pool (for a static pool), or of the leak area (for a spreading pool). The Z coordinate is the altitude from which Flacs searches downwards to determine the vertical position of the pool base. The pool is positioned on the highest solid (or water) surface that is directly below Z. The Pool spread simulation example in the FLACS-CFD Best practice Section demonstrates how this process works.

The values entered for the inner radius and outer radius are written to the scenario file as RAD I and RAD O, respectively. The inner radius defines the inner radius of a donut-shaped pool (for a static pool) or leak area (for a moving pool), and is set to zero by default. The outer radius is the outer radius of the pool or leak area.

The initial temperature of the substrate beneath the pool, i.e., it's temperature before the pool was present. This is written to the scenario file as T SOIL. Note that for a water substrate, this parameter refers to the surface temperature of the water prior to the spill. If set to a value greater than zero, or not specified, then the ambient air temperature is used.

The radiative heat from the sun, which is written to the scenario file as HEAT SUN. If not specified, a default value of 400 W m-2 is used.

The surface roughness of the liquid pool surface. If set to zero, then the default value of 0.005 m is used. This is written to the scenario file as ROUGH L.

The properties of the substrate beneath the pool are read according to the type of ground that is specified here, which is written to the scenario file as POOL GROUND. The dropdown menu lists the available types: concrete, average, soil, plate, insulated, user and water. The thermal properties that are assumed for these types are detailed in the table below. If the ground type is specified as 'user', then the ground conductivity and diffusivity must be provided by the user. It is possible to specify more than two ground types for the substrate by manually entering text into the dropdown box (the text is then copied exactly to the scenario file). An example of how to do this is provided in Pool setup parameters in the Pool spread simulation example. The different ground types should be entered as a comma-separated list, followed by a space and then square brackets that contain a space-separated list of pairs of numbers, which specify the X, Y and Z bounds of the region over which the second ground type should be used.

Table 3.30: Ground properties

Ground

Conductivity ( Wm-1K-1)

Thermal diffusivity ( m2s-1)

Concrete

1.1

10-6

Average/Soil

0.9

4.3 · 10-7

Plate

15

3.9 · 10-6

Insulated

0.0

1030

User

Set CONDUC S

Set DIFFUS S

Water

Heat transfer coefficient

Heat transfer coefficient

Ground thermal conductivity. This field is only available in the Pool menu when Ground type is set to ”User”, and is written to the scenario file as CONDUC S. If it is not specified, or is specified as zero, then the simulator will use the value for the ground type ”Average/Soil” from the table.

Ground thermal diffusivity. This field is only available in the Pool menu when ”show advanced” is checked. It is required if the Ground type is set to ”User”. If Ground type is set to ”User” and DIFFUS S is not specified, or is specified as zero, then the simulator will use the value for the ground type ”Average/Soil” from the table. For other ground types, the simulator will use this value if it is non-zero, but will otherwise use the appropriate value from the table.

Air thermal conductivity. This field is only available in the Pool menu when the Ground type is set to ”User”, and is written to the scenario file as CONDUC A. If it is not specified, or is specified as zero, then a default value of 0.024 W m-1 K-1 is used.

The thickness of the steel plate. This field is only available in the Pool menu when the Ground type is set to ”Plate”, and is written to the scenario file as PLATE L. If it is not specified, or is specified as 0, and Ground type is set to ”Plate”, then a default value of 1030 m is used.

The albedo of the pool liquid. Only available when ”show advanced” is checked. If it is not specified, or is specified as zero, then a default value of 0.11 is used.

The specific heat capacity of the pool liquid. Only available when ”show advanced” is checked. If it is not specified, or if Use database is checked, then the simulator will calculate the appropriate value from the properties in the FLACSCFD database for the pool liquid at the initial pool temperature.

CFL number to be used for calculations in the pool model. Only available when ”show advanced” is checked. If it is not specified, or is specified as zero, then a default value of 0.8 is used.

Rate of expansion of the pool area. Only available when ”show advanced” is checked.

This flag specifies whether the properties of the pool should be read from the FLACSCFD database, or be specified here by the user. Only available if ”show advanced” is checked. If the box is checked, then DATABASE is set to one in the scenario file and the FLACSCFD database is used. This is the default behaviour.

Emission coefficients for the air (EMISSION A) and pool (EMISSION P). Only available if”show advanced” is checked. If these are not specified, or are set to values that are not between zero and one, then default values of EMISSION A = 0.75 and EMISSION P = 0.95 are used.

Heat transfer coefficient between water and the pool. Only available if ”show advanced” is checked. If it is not specified, then a default value of 0 is used.

Latent heat of evaporation for the normal boiling point temperature of the liquid. Only available if ”show advanced” is checked. If Use database is checked, or if HEAT EVAP is not specified, or if HEAT EVAP is set to a negative value or zero, then HEAT EVAP is calculated using properties from the FLACSCFD database for the pool liquid. When Use database is checked, then HEAT EVAP is recalculated at each time step to account for the changing pool temperature.

Kinematic viscosity for air. Only available if ”show advanced” is checked. If Use database is checked, or if KIN VISC A is not specified, or if it is set to a negative value or zero, then KIN VISC A is calculated using properties from the FLACSCFD database for the air.

Molecular weight of the pool liquid. Only available if ”show advanced” is checked. If Use database is checked, or if MOL WEIGHT is not specified, then MOL WEIGHT is read from the FLACSCFD database.

Prandtl number for air. Only available if ”show advanced” is checked. If not specified, or not set to a value greater than zero, then a default value of 0.786 is used.

This was used previously to define the initial radius of the pool but is no longer used and so is ignored by the simulator. Only available if ”show advanced” is checked.

This was used previously to set the boiling temperature for the pool liquid. The boiling temperature for the pool liquid is now calculated from the Antoine vapor-pressure equation, using properties for the pool liquid that are read from the FLACSCFD database. This parameter is therefore no longer used in the simulator. Only available if ”show advanced” is checked.

Initial temperature of the pool. Only available if ”show advanced” is checked. If T POOL is not specified, or is set to a value greater than the boiling temperature of the liquid, or is not greater than zero, then this is set to the boiling temperature of the pool liquid.

Only available in CASD for Fire scenarios. This specifies which of four different settings is used for a coupled pool-fire scenario, and is written to the scenario file as POOL USE _ RADIATION:

Only available in CASD for Fire scenarios. This parameter can be used to control the level of radiative heat transferred to the pool surface, and is saved in the scenario file as POOL FIXED _ RADIATION. This parameter is used when Use radiation (POOL USE_RADIATION) = 1, or when Use radiation (POOL USE RADIATION) = 3 and no radiation model is selected. Otherwise it is not used. The default value is 10000 W m-2.

Only available in CASD for Fire scenarios. This parameter can be used to control the minimum level of radiative heat that reaches the pool surface, and is saved in the scenario file as POOL MINIMUM _ RADIATION.

This parameter is used when Use radiation (POOL USE _ RADIATION) = 1, or when Use radiation (POOL USE _ RADIATION) = 3, otherwise it is not used. The default value is 10000 W m-2.

Only available in CASD for Fire scenarios. This is required by the Six-flux radiation model that was implemented in earlier version of FLACS, however it is not used in FLACSCFD.

Only available in CASD for Fire scenarios. This parameter determines how the turbulence above the pool surface is calculated, and is saved in the scenario file as POOL USE TURBULENCE:

Where RTI is the relative turbulence intensity, TKE is the turbulent kinetic energy and u ref is the reference air velocity above the pool surface.

The relative turbulence intensity above the pool, which is saved to the scenario file as POOL RTI. Only available in CASD for Fire scenarios. If POOL RTI is greater than zero, then it is used to calculate the turbulent kinetic energy immediately above the pool surface.

The turbulence length scale above the pool, which is saved to the scenario file as POOL TLS. Only available in CASD for Fire scenarios. If POOL TLS is greater than zero, then it is used as the turbulence length scale immediately above the pool surface.

This section of the scenario menu allows the scenario parameters that represent leaks to be entered or updated. These values are written to the scenario file and to the leak file. For information about how leaks are represented in FLACS-CFD, see the Leaks section in the Technical reference chapter.

Attention:

CASD does not yet support all settings that may be present in a scenario or leak file (such as FAN, reverse, see below). When an existing scenario with these settings is opened in CASD, then these settings are not read correctly and are deleted when the scenario is re-saved. This only applies when the exising scenario uses a leak file, not when only non-time-dependent leak(s) are prescribed. See also the Leak file section in Input files for FLACS-CFD simulations. CASD may also overwrite leak files that are write-protected at file system level. It is recommended to always review the cl-file before running the Flacs simulator.

Remember to set the ER0 parameter under GAS COMPOSITION AND VOLUME to a large number if the leak is a pure fuel leak.

This command is used to insert a new leak, the parameters for this leak are explained in the following pages. The maximum number of leaks in a scenario is 50.

The type of leak must be specified as one of the following:

For more information on this setting and recommendations for the grid, see Entrainment functionality. To activate this efficiency measure and avoid explicit entrainment calculations, the leak type should be set as Entraining, and slightly different constraints should be considered when refining the grid to capture the leak.

If a FAN with direction +X is specified, this will be translated into the string "!J+X=X:fan" in the leak file. See section Fans and suctions for details.

Leaks are built up in a time equal to 1% of the leak duration with a maximum of 1s. Shut-down is also gradual over 1s. These values can be changed manually in the leak file.

If a leak does not yield pure fuel, a concentration between ER0 and ER9 can be specified by manually changing the leak control string.

Example: To get a concentration of 60% ER0 (mass fraction of ER0 is 0.6) and 40% ER9 (mass fraction of ER9 is 0.4) one must change leak control string in cl-file.

From:

"!J+X"

to:

"J+X:mix 0.6"

This menu is used to specify the leak position (in metres). For modelled-entrainment leaks, this is the initial position, which is redefined by the entrainment functionality.

The OPEN SIDES setting indicates which side(s) of the control volume affected by the leak should be opened up as the leak starts. OPEN SIDES is a text string containing characters taken from "+-XYZ". A leakage directed in the positive x-direction should have OPEN SIDES = "+X". Several sides may be open for a single leak, e.g. OPEN SIDES = "+X-X" or OPEN SIDES = "+XY-ZX". This will give two or more identical leaks in that the given leak rate will be applied for each open side. Thus a JET leak with OPEN SIDES '+X-X' will have twice the rate of a leak with OPEN SIDES '+X'.

A JET or AIR leak will generate flow in the directions specified by OPEN SIDES, i.e., out of the control volume (mass source). A SUCTION leak will generate flow in the opposite direction, i.e., into the leak CV (mass sink).

When a FAN leak is considered, having downstream flow velocity pointing, e.g., in the positive z-direction, OPEN _ SIDES can be set to "+Z" (and similarly for other axis directions).

The value of OPEN SIDES is not relevant (i.e., ignored) when the direction cosines are given nondefault values, i.e., other than [0.0, 0.0, 0.0]. For example, if the direction cosines are set [1.0, 1.0, 0.0] for a certain jet release, then it does not make any difference to this jet simulation whether OPEN SIDES equals "+XY" or "+X" or any other value.

Note that in the cl-file the leak control string will contain the information regarding the kind of leak and OPEN SIDES in short form, e.g. 'J+X' for a JET leak, 'J+X:lean' for an AIR leak, and 'J+X:reverse' for a SUCTION leak.

This is the time (in seconds) when the leakage should start. Normally one would allow a certain time for wind build-up prior to starting any leaks.

When a FAN leak is considered, START TIME is set to the time when the FAN starts (typically this will be at time equal zero).

This is the duration (in seconds) of the leakage. The finish time for the leakage is the start time plus the duration. Hence, set TMAX (Maximum time) accordingly. The build-up time of the leak is 1 % of leak duration (maximum 1 second).

When a FAN leak is considered, DURATION can be set to a very large value if the fan is supposed to be active for the duration of the simulation.

The outlet menu can be expanded to show the following fields:

AREA

0.1

(m2)

MASS_FLOW

0.0

(kg/s)

VELOCITY

10.0

(m/s)

RELATIVE_TURBULENCE_INTENSITY

0.15

TURBULENCE_LENGTH_SCALE

0.01

(m)

TEMPERATURE

6.0

(°C)

DIRECTION_COSINES

0.0, 0.0,

0.0

If the Leak Wizard is used then these fields are automatically populated. Otherwise, the jet utility program can be used to calculate the appropriate values, or the Steps when the jet utility program is not employed can be followed.

When the jet utility program is not employed, the user must:

The values specified or manually calculated in steps 1-4 are necessary for defining the outlet parameters that are required for simulation of the leak: area, mass flow, velocity, and temperature (cf. below).

The effective cross-section area A of the leak outlet must be specified for any type of leak. For a specified mass flow m (or volume flow V and density p) the velocity u at the outlet should not be above the speed of sound. The following relations apply for the conditions at the outlet:

m = pV = puA

(3.10)


(3.11)


Assuming ideal gas properties:

m

pV = n<T = — <T = mRT M

where is the ideal gas constant (8314.3 [ J/kmol K]), T [K] the and the specific gas constant R is equal to the ideal gas constant divided by the molecular weight M , the gas density at the outlet is:

mp

(3.12)


V = RT

m = puA Mass flow at the leak outlet (kg/m3/s)

p = p/(RT) Gas density at the outlet (kg/m3)

P = Pamb Pressure at the outlet is the ambient pressure (Pa)

R = </W Specific gas constant (J/kg/K)

W Mole weight for the given gas composition (kg/kmol)

T Temperature at the outlet (K) ( 0.0°C = 273.15K)

u Velocity at the outlet (m/s)

The relations shown above may be used to ensure that the outlet conditions are set in a consistent way.

When a FAN leak is considered, AREA can in general be set to a value slightly less than the area of the CV face (e.g. 0.9 times the area of the Control Volume face, corresponding to 0.9 m2 if you use 1m grid).

Specify the mass flow rate at the leak outlet here. Note that the mass flow takes priority if both mass flow and velocity are specified (see below). Make sure that the generated velocity is not larger than the speed of sound (approximately 340 m/s for air). Setting the outlet area large enough for a given mass flow rate causes the outlet velocity to be as low as desired. FLACS-CFD will report the generated velocity on the log file (rt-file). The mass flow rate must have a positive value (zero if not specified).

Instead of specifying a mass flow rate at the outlet (see above) you may specify the velocity. FLACS-CFD will report the generated mass flow rate on the log file (rt-file). If you specify both MASS FLOW and VELOCITY then the mass flow rate takes precedence. The velocity must have a positive value (zero if not specified). The specified velocity should be lower than the speed of sound.

This parameter must always be specified for a leakage. Normally a value in the range 0.01 to 0.10 will be appropriate. If the relative turbulence intensity cannot be obtained from any source (literature or experiments) for the given leakage, the following rough classification may be used:

0.01-0.03 Low turbulence intensity

0.03-0.06 Medium turbulence intensity

0.06-0.10 High turbulence intensity

Turbulence generated in the jet zone is generally of less interest than turbulence generated by the induced downstream flow field, in which case the k - ε model in FLACS-CFD represents the actual modelling. It should be noted here that on the coarse grids normally used for dispersion calculations in large geometries the generated turbulence due to fluid stresses may be underestimated, and since numerical diffusion may be high on such coarse grids one might expect that the turbulent (or effective) mixing process is not represented with high accuracy.

This parameter must always be specified for a leakage. It may be difficult to obtain the value for the turbulence length scale. It is generally related to the size of the nozzle or the feeding pipe for the leakage. A rough estimate is that the turbulence length scale is in the range of 10% to 20% of the nozzle diameter. When the turbulence length scale is small the dissipation rate of the turbulent kinetic energy is large, thus the turbulence will dissipate quickly for small diameter nozzles. In such cases, the turbulence generated by the downstream flow field is the important factor, and the k - ε model in FLACS-CFD takes care of that.

This parameter must always be specified for a leakage.

For a leak of type FAN the downstream temperature is automatically inherited from the upstream temperature. The TEMPERATURE for a FAN leak can for example be set to the ambient temperature (but in general this is not necessarily equal to the upstream temperature).

This is a vector which may be used to define the direction of an oblique jet. The direction cosines are the cosines of the angles between the direction vector and the three coordinate axes. See, e.g.

http://en.wikipedia.org/wiki/Direction cosine for further explanation, if needed. FLACS will normalise the vector, so the magnitude of the direction vector need not necessarily be equal to one (e.g. specifying [0.7071, 0.7071, 0.0] will have the same effect specifying [1.0, 1.0, 0.0]).

When the direction cosines are given non-default values (i.e., other than [0.0, 0.0, 0.0]), then the leak direction is entirely determined by the direction cosines and the OPEN SIDES setting is ignored. When an oblique jet release is modelled in FLACS-CFD, several CV faces are used to model the release. If two or more oblique jets have release points in the same CV or adjoining CVs (for the numerical grid used), it may happen that the total effective release rate [kg/s] for the jets is less than the sum of the release rates specified. User can check this based on the output in the simulation log file (rt.dat3). If this happens,

consider refining the grid and/or moving the jet release location so that there are at least two empty CVs between any two leak cells.

See also:

Potential issues with oblique jet leaks.

Attention:

The specification of direction cosines for oblique jets is not compatible with modelled-entrainment leaks.

This menu was developed to calculate the outlet conditions for a leak from a pressurised vessel. Currently, it is not recommended to use the vessel menu. The jet utility program should be used instead.

FAN leaks are used to define fixed momentum leaks in a control volume (CV), e.g. to generate flow downstream of an exhaust fan. A SUCTION leak is a negative point source, i.e., it models the removal of fuel/air mixture. The syntax for defining such release types is similar to the case for defining a hydrocarbon release, i.e.,

POSITION the location of the centre of the fan

SIZE set to ”0 0 0” in order to define a point source/sink

OPEN SIDES the open side(s) of the leak control volume; for example, this would be +Z for FAN and AIR leaks for ventilation in upward (vertical) direction. For a SUCTION leak, having +Z as the open side, means that the gas being removed from the computational domain (due to suction) flows in the negative z-direction, namely into the +Z face of the CV.

START TIME should presumably be set to zero or a low value (time when the fan starts)

DURATION should presumably be set to a very large value if the fans are supposed to be active for the duration of the simulation

AREA can be set to a value slightly less than the area of the CV face (e.g. 0.9 times the area of the CV face; 0.9m2 if you use 1m grid). The area of a single leak in FLACS-CFD must not be larger than the control volume face area where the leak is placed (unless an area leak is used).

MASS FLOW self explanatory

VELOCITY not required if mass flow and area are specified

RELATIVE _ TURBULENCE INTENSITY suggest that 0.1 might be a suitable value

TURBULENCE _ LENGTH SCALE this would be 10% of the fan diameter

TEMPERATURE can for example be set to the ambient temperature. Actually; for a jet of type FAN the downstream temperature is automatically inherited from the upstream temperature (in general this is not necessarily exactly equal to the ambient temperature)

A FAN leak can be located on a solid plate (of zero thickness) where the leak direction is normal to the plate, since the flacs simulator will automatically open up whenever necessary the Control Volume (CV) corresponding to the position of the FAN.

ER0 = ρER0 U A                               (3.13)

where U is the VELOCITY [m/s] from the outlet menu, A is the AREA [m2] from the outlet menu, and ρER0 [kg/m3] is the density of the fuel-air mixture for Equivalence Ratio equal ER0 at the ambient pressure and temperature equal to the TEMPERATURECelsius] from the outlet menu. If, for example, ER0 equals zero and the TEMPERATURE from the outlet menu equals the ambient temperature (default value 20° Celsius), then Pero is the density of pure air at ambient temperature and ambient pressure.

When the MASS FLOW [kg/s] in the outlet menu is given a positive value, the parameter 'RATE (kg/s)' in the leak file is given the value of the MASS FLOW (again, not necessarily exactly equal to the specified value during gradual start up and gradual shut down of the FAN). Further, when the MASS FLOW [kg/s] in the outlet menu is given a positive value, the value of the VELOCITY [m/s] specified in the outlet menu, will not be used (you can just keep the default value 0.0 m/s for the VELOCITY in this case). The parameter 'VEL (m/s)' in the leak file will be given the value U [m/s] (with possible deviations of U during gradual start up and shut down of the FAN leak), where U is calculated by:

U = m˙ ER0                                    (3.14)

ρER0A

Here ER0 [kg/s] equals the MASS FLOW.

’!J+Y=Y:fan’

’TIME(s)’ 0.0000E+00 1.0000E+00 8.9999E+02

9.0099E+02 5.0000E-03 1.1836E-01


7

’AREA(m2)’

5.0000E-01

5.0000E-01

5.0000E-01

’RATE(kg/s)’ 1.1836E-01 1.1836E+01 1.1836E+01

’VEL(m/s)’

2.0000E-01

2.0000E+01

2.0000E+01

2.0000E+01

’RTI(-)’

5.0000E-02

5.0000E-02

5.0000E-02

5.0000E-02

’TLS (m)’ 8.0000E-02 8.0000E-02 8.0000E-02 8.0000E-02

’T (K)’ 2.9315E+02 2.9315E+02 2.9315E+02 2.9315E+02

In the above example the core simulator flacs will, after an initial gradual start up, fix the fan velocity UFAN at the FAN leakage position to the value 20.0 m/s (cf. column 'VEL (m/s)' above). The area porosity at the FAN leakage outflow position is then dynamically adjusted (whenever possible for the numerical grid chosen) so that the effective area Aeffective [m2] obeys:

(3.15)


FAN = ρFAN UFAN Aeffective

where FAN equals (in this example) 11.836 kg/s (cf. column 'RATE (kg/s)' above), and ρFAN [kg/m3] is the density of the gas at the position of the FAN (linear interpolation based on the upstream value and the

downstream value relative the position of the FAN). Note that Pfan and ^effective will in general vary as function of time (depending on the fluid flow for the scenario considered), and the value of Aeffective need not be equal to the corresponding value in the column 'AREA (m2)' in the leak file (for the example leak file above, Aeffective is not necessarily equal to 0.5 m2). Note also that the time-dependent temperature values at the FAN position do not necessarily correspond to the temperature values listed in the column 'T (K)' above. In some simulation cases, the value of Aeffective calculated by the above equation may be larger than the area of the Control Volume (CV) face at the FAN outlet (for the numerical grid resolution employed during the simulation). This could for example happen when the specified fuel is a heavy gas like propane (heavier than air). Since the FAN model does not allow an effective area larger than the area of the CV face, you will then get a warning in the log file rt000000.dat3 (if the job no. is 000000) regarding a LEAK EXCESS AREA; see also the section about Leak excess area. A solution can be to decrease the value of the AREA [m2] in the outlet menu (you will then get a higher value of Ufan [m/s] when the MASS_FLOW [kg/s] in the outlet menu is given a positive value, or a lower value of mfan [kg/s] when the MASS_FLOW [kg/s] in the outlet menu is zero), and rerun the simulation (assuming that any earlier leak file contains the exclamation mark and can be overwritten). An alternative approach could be to remove any exclamation mark from an earlier created leak file for the FAN (i.e., replace the string '!J+X=X:fan' with the string 'J+X=X:fan') and manually edit the parameter values of this leak file before rerunning the simulation.

It is in general recommended that simulations are run until the flow behaviour has stabilised. This can, for example, be checked by employing an r3file command like:

run r3file r3123456.dat3 name=AVERAGES

See also:

Check also the guidance regarding air change rate.

Typically for ventilation/dispersion studies, the user would like to model (more or less) constant pressure and temperature within the domain over time (not a problem that the total mass of gas within the domain may change over time), and it would be helpful with a feature (functionality) so that the user could specify the volume flux [m3 /s] for say an AIR leak, and specify the same volume flux [m3 /s] for SUCTION (to set a perfect volume flux balance for a non-uniform density field). However, such a feature is currently not implemented in flacs. Currently the flacs simulator reads the mass flow rate [kg/s] ’RATE(kg/s)’ from the leak file (e.g. cl<job no.>.n001) for the AIR leak and the SUCTION (similar for FAN). And thus if you have the same value of ’RATE(kg/s)’ in cl-files for both the AIR leak and the SUCTION, the volume flux [m3/s] of gas entering the domain will in general not be equal the volume flux [m3/s] of gas leaving the domain (e.g. when you have non-uniform fuel concentration for methane-air mixture inside the domain, and thereby non-uniform density field).

The FLACS-CFD user may consider (when simulating non-uniform density field):

See also:

Section air change rate.

You should make sure that every suction/leakage and any yielding pressure relief panel for your simulation case is well within the interior of the domain. Also note that if you, for example, have a suction within the domain, the net volume flux of the region is not necessarily exactly equal the volume flux of the suction at all times during a transient flow, due to the compressibility of the gas.

The leak wizard in CASD can be used to add/edit leaks when the scenario type in the 'Scenario Settings' dialogue is set to Dispersion, Fire, Gas Explosion or Pool. The wizard can be launched from the Run Wizard->leak wizard button available in the Scenario Settings section or from context menu for any leak in the Leaks section (rick-click on the leak). The Wizard GUI has Input and Output pages. The Input page takes the input fields and the Output page diplays the resulting profile, table and output data.

3.7.16.21 Input

The first page is used to set up a new, or edit an existing, leak.

Figure 3.36: Gas phase input fields

Figure 3.37: liquid(flashing) phase input fields

Leak Properties:

Reservoir properties:

be AIR (this is the default value for gas leaks if no species is defined in the Gas composition and volume section of the scenario.)

Release properties:

Single planar shock (default)                                                                         

Single planar shock (default)

Single planar shock + air entrainment Ewan-Moodie Ewan-Moodie + air entrainment

Figure 3.39: Pseudo-source model options

Attention:

For an entraining-type leak, the pseudo-source model should be selected with '+air entrainment'.

Advanced options:

Advanced option enables the user to view and edit further options, such as the heat transfer coefficients, wall

temperature and relative turbulence intensity. The equation of state supports the Ideal gas law and the Real gas law. The Real gas law is only supported for gas releases that are 100% hydrogen.

Figure 3.40: Advanced options

Area Leak Input:

For area leaks there is an additional input page where the leak size, shape and profile should be entered.

Figure 3.41: Area leak inputs

3.7.16.22 Output

On the output page, a summary of the compiled information about the leak is shown. The information about the leak is added to the scenario file and to the leak file.

Figure 3.42: Gas output


Figure 3.43: liquid(flashing) output


In case of time-dependent gas-phase leaks, the wizard shows the leak profile first then the summary and leak info.


Figure 3.44: leak profile time dependent output

There is a plugin available that may help to refine the grid around leaks for point leaks, following the recommended configuration for the grid. It is based on the refine function in gm. The refinement plugin is available by right clicking on the leak you want to refine around, in the scenario menu leak section.

Figure 3.45: Refine grid plugin.

The plugin sets the refined cell sizes (in all dimensions) to

CellSizenew = refinement factor · expanded leak area

(3.16)


The refinement factor is shown to right of the Adjust Refine Factor checkbox and can be entered manually if this box is checked. By default, the refinement factor is 1.25 for standard point leaks and is 9 for modelled-entrainment leaks.

The refinement region (i.e., which cells in the grid are set to the new cell size) includes the cell(s) that contain the leak, plus one cell either side of this in the plane of the leak. The refinement region extends in front of the leak by three cells. Large size differences between neighbouring cells are not recommended in FLACS-CFD, so grid cells beyond the refinement region are adjusted to ensure a smooth transition between the refined cell size and the size of cells in the background grid, using the same smoothing as is implemented by the Smooth tool in CASD. The total extent of the region of affected cells (the refinement region plus cells affected by the smoothing) is shown in the wizard as the Grid region affected. Clicking the Apply button updates the Geometry view to show the new grid. Clicking OK keeps this grid, and Cancel brings back the original grid.

Note:

For a fire scenario with a jet leak, the plugin first estimates the flame shape using the calculations in the Jet flame shape section of the Technical Reference chapter. The estimated shape is used to create a core domain, following the recommendations for configuring the grid. Cells in this core domain are then refined around leak as above.

Figure 3.46: Example of grid before (top) and after (bottom) grid refinement around leak.

The grid guidelines require an estimate of the flame shape to setup the core domain for pool fire simulations simulation. The flame shape is used to refine the current grid so that it follows the guidelines related to the core domain. This dialog is opened by right clicking in the ”Pool” section of the ”Scenario menu” to open the context menu, and select ”Refine grid”. A grid that fulfills the requirements for the total domain should be set up before using the ”Refine grid for pool fire” dialog, e.g. by using the Quick Grid functionality.

Figure 3.47: The pool fire grid refinement dialog.

When opening the ”Refine grid for pool fire” the flame shape for the current pool setup is estimated using the calculations in Maximum pool area and flame shape for pool scenarios, assuming a fixed burning rate of 0.15 kg/m2s, no wind effect, and no bund height. Based on the resulting flame shape, a ”near pool region” and a ”flame region” is calculated and used as the basis for the grid refinement. The changes to the current grid will immediatly be reflected in the geometry window, and the grid will be permanently changed by closing the dialog by clicking the ”Ok” button.

The ”Z position of pool” is initiated with the current pool position, but as the final position of a pool is the result of the pool beeing ”dropped” onto the geometry, this value should be manually adjusted so that the ”near pool region” is placed at the correct position.

The start- and end-position of the regions along the individual axes of the coordinate system can be manually adjusted by writing directly to the input boxes or using the up and down arrows at the right side within the boxes. If the ”Z position of pool” value is changed, the start and end values for the two regions will be overwritten by the algorithm that computes the flame shape.

Comparisons between the original grid and the refined grid are available at the bottom of the dialog, and show the effect of the grid refinement algorithm.

Note:

The cell size in the core domain is limited to maximum 1 meter, and the algorithm is not implemented for an unconfined pool.

3.7.19 Ignition

In case of a gas/dust explosion or fire simulation, specify the location and size of the ignition source. In addition, give a time and duration for the ignition. The available parameters here are as follows:

POSITION_OF_IGNITION_REGION

0.0,

0

.0,

0.0 (m)

DIMENSION_OF_IGNITION_REGION

0.0,

0

.0,

0.0 (m)

TIME_OF_IGNITION

0.0

(s)

DURATION_OF_IGNITION

0.0

(s)

RADMAX

99999

.

0

(m)

The ignition region can be a point (0D), a line (1D), a plane (2D) or a volume (3D). The DURATION OF IGNITION parameter makes it easier to ignite fire scenarios at the start of the simulation. A failed ignition is reported only after the specified ignition duration is elapse. The RADMAX parameter will be ignored by all FLACS-CFD versions after 1998; it is only present for backward compatibility.

If the ignition point is inside a partially blocked control volume, the flame may quench. It is therefore not recommended to ignite inside a partially blocked control volume. But if you choose to do so, and if there are any problems obtaining a proper ignition and flame propagation, try to increase the DIMENSION OF _ IGNITION _ REGION side lengths up to about 0.05 to 0.10 m.

When modelling gas explosions, the ignition in FLACS-CFD is usually set to occur in just one control volume. The ignition region should normally be a point (or 0D), as this represents the “spark ignition” generally seen in practical situations. However, larger ignition regions such as 1D or 2D can be used when doing benchmarking against experiments, including representing stronger ignition with multiple ignition locations. The time and duration of the ignition may also be specified. This is useful for igniting gas clouds that are generated during gas dispersion simulations. In a normal gas explosion simulation, the time of ignition should be set to zero.

Attention:

Avoid locating the ignition point exactly on a grid line, instead position it at the centre of a control volume. Usually, it is best to specify the ignition point according to the grid, and not according to the geometry. For example, walls are sometimes adjusted to the nearest grid line in the pororsity calculations but the ignition location is not changed. This could result in an ignition location that is initially on one side of a wall becoming a location on the other side of the wall, causing the simulation to calculate ignition on the 'wrong' side of the wall!

NO!               YES

GRID LINES

—WALLS
+ IGNITION POINT LOCATIONS

Figure 3.48: How to position the ignition

Attention:

For explosion simulations it is not recommended to use big 3D ignition regions since this may lead to more violent explosions with overpredicted explosion overpressures.

When modelling jet- or pool fire scenarios, the flame duration is usually long compared to the initial flash fire or deflagration. Therefore any inaccuracies in the heat radiation and smoke results in the initial flash fire phase – introduced, for example, by using a larger ignition region – will be negligible compared to the relatively long jet- or pool fire phase. In most cases it is therefore recommended to use a large 3D ignition region to ignite jet and pool fires. This ensures that the jet or pool is ignited, without having to rerun the simulation to determine a flammable region for ignition. A typical large 3D ignition domain will be somewhere between 5m-20m in all directions relative to leak or in the vertical direction above a surface area leak. In the log file the FLACS-Fire solver will only report the cells where ignition was successful, to keep it concise.

In a jet or pool fire simulation, the time of ignition should be set so that it occurs with a short delay after the leak has started. This allows some flammable gas to accumulate, to make ignition more likely. A typical time would be 0.1s - 0.25s after a jet leak has started or 0.5s-2s after the start of a diffuse leak.

For simulations where the exact ignition location needs to be modelled (e.g. combination of deflagration and jet-fire or incident investigation), it is recommended to run the dispersion without ignition first, with a monitor point in the ignition location monitoring fuel concentration. The simulation can then be rerun with the ignition time set within the range that there was a flammable mixture at the ignition point.

As mentioned above, the DURATION OF IGNITION paramter is highly recommended for fire simulations. For the steady state cases this will help to minimise the peak in output variable immediately after ignition due to delay in ignition.

Note:

It is not yet possible to define multiple ignition sources or force ignition of a fire.

Water deluge systems can be an effective way to mitigate the consequences of gas explosions in several situations. The mitigating effect has been seen in many experiments. However, the phenomena related to the interaction between water sprays and an accelerated flow field and the flame are quite complex. The explosion accelerates the flow as well as the water droplets. The acceleration depends on the local flow conditions, and the droplet size. When hydrodynamic forces become large enough to overcome surface tension, the droplets break up (again dependent on the droplet size). When the droplets are small enough (either because the droplets produced by the nozzle are small, or because large droplets break up into small droplets when the flow is accelerated), they tend to reduce the burning rate due to cooling of the flame, and dilution of the gas mixture by evaporation. However, large droplets in the flame region (before break-up of the large droplets) tend to increase the turbulence level and thereby increase the burning rate. So there are competing effects when using a water spray system. In some cases water spray may even increase the maximum overpressure of an explosion.

The problem when modelling water sprays is how to represent all this on a coarse simulation grid. It was necessary to do simplifications, and also to use experiments performed for tuning of the models. Two distinct effects were identified.

For each of the nozzles an acceleration factor, denoted F1, is determined. F1 is used to increase the burning rate if any watersprays are present. A quenching factor, denoted F2, is also determined. F2 is used to reduce the burning rate if the conditions for droplet break-up are present.

Remarks:

Due to model simplifications, there is no need for a very accurate positioning of the sprays. In regions where sprays of the same type will overlap, you should define one water spray region for the whole system. If more than one waterspray region is to be defined, make sure that they do not overlap, otherwise FLACS-CFD will stop. In FLACS-CFD, the droplets are assigned a velocity but the transportation of droplets is not modelled. Regions where it is obvious that a lot of droplets will be transported ahead of the flames (for instance directly outside vent openings), should be included in the spray region (i.e. larger water spray regions should be defined).

The models are validated in stoichiometric gas concentrations in a 180 m3 vented box, with various obstruction levels, in a 50 m3 model of an offshore module, and also in full- scale experiments. It is reasonable to believe that the models represent mechanisms in connection to water mitigation well.

The water spray model implemented in the FLACS-CFD code is relatively simple. One or more nonoverlapping water spray regions are defined. In each region there is assumed to be droplets of a given diameter (before break up), and a given water volume-fraction. If the relative velocity between the droplets and the gas flow exceeds a so-called critical break-up velocity (depending on the diameter of the droplet), it is assumed that the droplets break up.

Two non-dimensional factors are employed in the numerical model. When there is water in the reactive mixture (i.e. inside a water spray region), this is assumed to enhance the burning rate. Before break-up of the droplets, the burning enhancement-factor denoted F1 [-] (positive number) is multiplied by the laminar burning velocity and added to the ordinary burning velocity (i.e. the burning velocity employed in the FLACS-CFD code without any water spray, this burning velocity is in general in the turbulent regime) to give the effective burning velocity with water spray. When the droplet break-up criterion is fulfilled, the burning velocity (without break-up) is multiplied by the burning reduction-factor F2 [-] (positive number less than 1), to give the effective burning velocity

Swater = (Sturb + F1 ' Slam)F2

(3.17)


The water spray model is validated for explosions with stoichiometric fuel-air mixtures. For non-stoichiometric fuel-air mixtures it is assumed that the pressure reduction caused by water spray might be slightly under predicted.

Below are the parameters which may be visible in the scenario file

INSERT

POSITION

SIZE

VOLUME_FRACTION

MEAN_DROPLET_DIAMETER

NOZZLE_TYPE


will assign the nearest grid line to your given (position + size) as the actual (position + size) of the water spray region. In other words, FLACS-CFD will make the water spray region stick to the grid lines. The FLACS-CFD code will issue an error message and stop if you have defined any overlapping water spray regions. You should check the position and size parameters if this error occurs.

The liquid water volume fraction VOLUME FRACTION [litre/m3] is defined by volume of liquid water in litre divided by total volume in cubic meter (one cubic meter equals 1000 litre), inside the water spray region. Thus, if the liquid water volume fraction is 0 [litre/m3] there is no liquid water, and if it is 1000 [litre/m3 ] there is only liquid water.

The liquid water volume fraction can be estimated using the βwater formula found here. Typical values for the liquid water volume fraction for water spray applications, are expected to be in the range 0.1-0.4 [litre/m3] (Dale, E. K., 2004).

If the parameter is less than 0.01 [litre/m3] (expected to be very unlikely for industrial water deluge applications), the FLACS-CFD code will give you a warning that the water spray is assumed not effective in the numerical model. As long as the parameter is larger than the minimum value of 0.01 [litre/m3], the water spray model in FLACS-CFD is effective.

In the current version of FLACS-CFD setting the parameter to any value above 0.01 [litre/m3] will give the same numerical results in the simulation, but note that the value of the liquid water volume fraction is important when estimating the two factors F1 and F2 for the parameter NOZZLE TYPE (more details about F1 and F2 can be found here).

The mean diameter MEAN DROPLET DIAMETER [micrometer] of the water droplets before break-up due to acceleration of the gas flow, is given by the user. In the water spray model it is assumed that all droplets have the same size, and that the droplets are uniformly distributed in space inside the water spray region. This is an approximation. In most real situations there will be a droplet size distribution, which in most cases is non-uniform in space, i.e. the distribution may change from one region to another region.

In the water spray model, the mean droplet diameter is defined to be the so-called Sauter diameter. This diameter is defined by the volume-based mean diameter cubed divided by the area-based mean diameter squared. The Sauter diameter depends on the operating water-pressure forcing water out the nozzle. The empirical relation

Dµm = 103P-0.333

(3.18)


( Dµm in [micrometer] and P in [barg]) seems to give good estimates for the Sauter diameter over a range of values for the water pressure, and for various nozzles. However, for some special nozzle types giving very large (e.g. nozzle type LDN) or very small (e.g. nozzle type P120) droplet diameters, this empirical relation may be less accurate. One may then try to estimate otherwise the Sauter diameter for the water-pressure considered. You may use either your estimate or data given by the vendor of the nozzle.

The parameter NOZZLE TYPE should be set equal to the text string "FACTORS: F1 F2" (note the two occurrences of the double quote character ” in the text string), where F1 and F2 are the numerical values of the two factors. The two non-dimensional factors F1 and F2 are modelled by

F 1 = 14Uz βwater

(3.19)


and

F2


0.03


Dmm βwater


(3.20)


where Uz [m/s] is the average droplet velocity vertically downward (absolute value), βwater [per thousand] is the water volume-fraction, and Dmm is the Sauter diameter measured in [mm] ( D^m = 103Dmm). How to obtain the Sauter diameter (mean droplet diameter) is described above. If the nozzle spreads the water horizontally, the droplets will soon fall down with a constant velocity (gravity forces are balanced by drag forces). This constant velocity depends on the droplet diameter. It can be estimated from the empirical relation

Uz


2.5(Dmm)0.94


(3.21)


where the units of Uz is [m/s] and the units of Dmm is [mm]. For some nozzle types the droplets leave

the nozzle with a significant velocity component vertically downward. In this case the average downward velocity should be estimated otherwise (giving a larger value than from the expression above). The water

volume-fraction is estimated by


βwater


n(Q/60)


XlengthYlength Uz


(3.22)


where Xlength [m] is the length in x-direction of the assumed rectangular waterspray region, Ylength [m] is the length in y-direction (it is assumed that the xy-plane is the horizontal plane), n is the number of nozzles (it is assumed that all of the nozzles within the same waterspray region is of the same type and with the same water flow-rate), and Q is the water flow-rate [litre/min] for a single nozzle (thus Q/60 is the water flow-rate in units of [litre/s]). The water flow-rate depends on the operating water-pressure. It is assumed that the flow-rate is related to the water pressure P [barg] by

Q = k"

(3.23)


where the so-called k-value of the nozzle depends on the type of nozzle considered.

Note:

In situations where there is only limited information about the nozzles, the factors F1 and F2 can be estimated using the simplified formulae: F1 = 0.233 WAR and F2 = 4.5/WAR where WAR is the water application rate in litre/m2 · min.

Attention:

The deluge model in FLACS-CFD only models the effect on deflagrations. It cannot model the effect of deluge on dispersion or fire scenarios.

Warning:

The louvre panel model has not been thoroughly validated, and some limitations have been identified. Especially the thickness of the louvre slats (section Area porosity) does not seem to have a large enough effect on the results. As the louvre panel model is relatively complicated to set up, it is recommended to use a porous plate in most situations.

Louvre panels are common in offshore installations and also in land-based process industry. The louvre panels affect the flow field both due to drag forces, and deflection of the flow downstream of the panel, determined by the geometry of the louvre slats. A new sub-grid model for flow through louvres is described in detail in (Salvesen, 1996a). Some validation exercises using the new sub-grid model are documented in (Salvesen, 1996b).

A louvre panel is assumed to consist of slats mounted on a frame. The louvre slats may have an arbitrary form depending on the type of louvre panel considered, but it is assumed that the slats of a louvre panel are more or less equal in shape, uniformly oriented, and uniformly distributed. It is assumed that the velocity vector downstream of the louvre panel is forced to be within a fixed plane (a mathematical plane of zero

thickness) determined by the louvre slats, when the flow exits the louvre, independently of the upstream velocity.

To be specific, let us consider an example: A louvre panel is oriented with normal in x- direction. The louvre slats define a plane with unit normal vector in the xy-plane, (sin(q), cos(q), 0), where q is an angle with absolute value less than 90°. The angle q is defined as the angle between the slats of the louvre (assuming that the slats are more or less plane, or if they are curved that they define a tangent at the exit on the downstream side) and the normal of the louvre (in our example the x-axis). The assumption is that the projection of the downstream velocity vector for flow in positive x-direction, on to the xy-plane, is directed a fixed angle q relative the positive x-axis (corresponding to the tangent vector (cos(q), sin(q), 0)), independently of the upstream velocity. How good this assumption is in practice depends on several factors: the form (plane or curved) and the thickness of the slats, and how wide the slats are compared to the distance between two neighbouring slats. The component of the velocity vector in z-direction, is assumed to be unaffected by the presence of the louvre panel.

In the example above, a louvre panel is oriented in x-direction. It may also be oriented in y- or z-direction. In general the louvre slats define two distinct planes, one plane for flow exiting in positive direction and one plane for flow exiting in negative direction. Often these two planes are identical. This is the case e.g. if the slats are of rectangular shape. But if the slats are e.g. V-formed, the two planes are distinct. The two planes may be arbitrary oriented as long as two conditions are satisfied: Firstly, none of the planes should coincide with the louvre plane itself (this would imply that the louvre panel is completely blocked). In the numerical code it is checked that the angle between the unit normal of the louvre plane and the unit normal of the plane determined by the slats (for flow in positive or negative direction), is not too small, that is less than one degree. Secondly, if the plane determined by the slats for flow in positive direction is distinct from the plane for flow in negative direction, the vector cross product of the normal vectors of these two planes should lie in the louvre plane (in other words, these two normal vectors and the normal of the louvre plane all lie in the same plane).

The sub-grid model affects how the momentum flux is calculated for the face of the staggered control volume adjacent to the louvre plane on the downstream side. The velocity of a control volume is determined by a balance of momentum fluxes over all the faces of the control volume. The sub-grid model gives the momentum flux at the CV face adjacent to the louvre panel, the momentum fluxes at the other CV faces are determined by the flow field otherwise. A consequence of this is that the first velocity vector downstream of the louvre plane need not be directed exactly according to the plane determined by the louvre slats, since the flow field otherwise also affects the velocity vector.

In the sub-grid model it is assumed that the total drag force can be represented as the sum of three terms; drag due to acceleration of the magnitude of the velocity of the flow, drag due to bending of the flow, and drag due to friction. In the description of these three terms below, it is assumed that the flow is in positive direction (either x-, y- or z-direction). The subscript e (east) corresponds to downstream values, the subscript w (west) corresponds to upstream values. A similar description is valid for flow in negative direction (not given here). Drag (absolute value) due to acceleration of the flow is represented by:

FD,acc = Caccmax {0.05pe[Ue]2 - 0.5pw[Uw]2} (3.24)

in the case that the plane determined by the louvre slats for flow in positive direction is the same as the one for flow in negative direction. Here ρ is the density, and U is the velocity vector. The drag coefficient Cacc is typically set to 1. No contribution from drag due to acceleration is included if the norm of the velocity vector upstream is larger than the one downstream (this would correspond to a pressure increase instead of a pressure drop over the louvre).

In the case that the plane determined by the louvre slats for flow in positive direction is distinct from the one for flow in negative direction (e.g. if the slats are V-formed), it is assumed that the drag is represented by:

FD,acc = Cacc


max{ 0.5 3nt[Uint]2-pw [Uw]2) } + max { 0.5 (pe%2- Pint [Uint]2)

(3.25)

Here Uint is the so-called intermediate velocity vector in the plane determined by the louvre slats for flow in

negative direction. It is assumed that the velocity vector first is forced to be within this plane, and then is forced to be within the plane determined by the louvre slats for flow exiting in the positive direction.

Drag due to bending of the flow is modelled as:

FD,bend = 0.5pw [Uw]2Cbend(a1 + a2)

(3.26)


where al is the angle between the upstream and the intermediate velocity vector, a2 is the angle between the downstream and the intermediate velocity vector, 0 ai < n,i = 1,2. The intermediate velocity vector and the downstream velocity vector are identical when the two planes determined by the louvre slats (for flow exiting in positive and in negative direction) are identical (and then a2 = 0). The coefficient Cbend (units of 1/radian) could be estimated from experiments or fine grid simulations. In the validation simulations a value of Cbend = 0.11/(n/4) is used. This corresponds to a result found in the literature; a resistance coefficient for flow in pipes of 0.11 for a bending of n/4radian. Confer (Salvesen, 1996) for more details.

If the flow is neither bent nor accelerated, there is still a drag due to skin friction assumed to be represented by

FD,fric = 0.5pw [Uw]2Cfric (3.27)

where Cf ric is a drag coefficient.

The coefficients Cacc, Cbend, and Cf ric are expected to depend on the specific type of louvre considered, and on both the Reynolds number and the Mach number of the flow. The direction of the upstream velocity vector may also be of importance. To investigate how the coefficients depend on the various parameters mentioned above, seems to be a challenging task. Performing fine-grid simulations or experiments are ways of approaching the problem. In the present model it is assumed that the coefficients depend on only the geometry of the louvre (neglecting the dependence on the other parameters mentioned above).

If experimental values of the coefficients Cacc, Cbend, and Cf ric are known for the specific type of louvre panel considered, these values should be used in the numerical calculations. In many cases only the so-called pressure-loss coefficient (sometimes in the literature it is also called pressure-drop or resistance coefficient) is known from experiment. This coefficient is defined by

pw - pe


0.5pw [Uw ]2Cpressure


(3.28)


for upstream flow in positive direction with velocity vector pointing normally on the louvre plane. In the case of flow with low Mach number (incompressible or nearly incompressible fluid), the static pressure drop over the louvre panel is essentially balanced by the drag force (i.e. the component of the force from the louvre on the fluid along the normal of the louvre plane) per unit area (see (Salvesen, 1996a) for details). Thus for incompressible flow, when Uw = Ue, with upstream velocity vector pointing normally on the louvre plane, the pressure-loss coefficient can be related to the coefficients Cacc, Cbend, and Cf ric by


Cacc(1/(COS2 9) - 1)+ Cbenda1 + C”


(3.29)


where the relation |Ue | cos q = Ue is utilised (confer the example above). Here it is assumed that the plane determined by the louvre slats for flow in positive direction is the same as the plane for flow in negative direction. One approach is to set Cacc equal 1 (this value is supported by theoretical considerations, cf. (Salvesen, 1996a)), set Cbend equal zero or a guessed value based on experimental results found in the literature (e.g. set Cbend = 0.11/(n/4) as described above), and set Cfric so that the relation above is satisfied for given values of Cpressure , Cacc, and Cbend. Another approach is to set both Cacc and Cbend equal zero, and set Cf ric equal Cpressure . Both these approaches are expected to give good results when performing simulations. If not even the pressure-loss coefficient Cpressure is known, one may use a guessed value for this coefficient

Values of the pressure-loss coefficient are reported in the range from 9.8 to 13.9 for commercially available louvre panels for industrial use. So a value in the range, say between 10 and 11, is in many cases expected to be a reasonable estimate for the pressure-loss coefficient.

Up to 100 louvre panels can be defined. An example of a setup for a louvre panel is shown below:

NAME

"NoName"

POSITION

0.0,

0.0,

0.0

(m)

SIZE

0.0,

1.0,

1.0

(m)

MATERIAL

BLUE

NORMAL_VECTOR_SLATS_POSITIVE

1.0,

0.0,

1.0

(-)

NORMAL_VECTOR_SLATS_NEGATIVE

1.0,

0.0,

1.0

(-)

DRAG_COEFFICIENT_ACCELERATION

1.0

(-)

DRAG_COEFFICIENT_BENDING

0.14

(1/radian)

DRAG_COEFFICIENT_FRICTION

9.0

(-)

AREA_POROSITY

0.7

(-)

Character string identifying the louvre panel considered (not used by FLACS-CFD).

Cartesian coordinates of the corner of the louvre panel (the corner with lowest value of the coordinate in each axis direction).

The louvre panel is assumed to be of rectangular shape. The dimension in each of the axis directions is given. One dimension should be zero, this shows how the louvre panel is oriented, and defines the louvre plane. If e.g. the dimension in x-direction is zero, the normal of the louvre plane points in x-direction. The other two dimensions should be positive.

The material to be used for modelling and visualising the louvre panel; see the section on panel materials for remarks on the usage.

Cartesian coordinates of normal vector of plane determined by the louvre slats (ribs) for flow in positive direction. This vector need not be specified as a unit vector. But the normal vector should not be parallel to the normal vector of the louvre plane. This would mean that the louvre panel is completely blocked by the louvre slats (if e.g. the louvre panel is oriented in x-direction, to specify the normal vector determined by the louvre slats as (1.0, 0.0, 0.0) would be an illegal choice). The normal vector need not lie in the xy-, xz-, or yz-plane. To specify the vector as for example (1.0,1.0,1.0) would be a valid choice.

If for example the louvre panel is oriented in x-direction, and the normal vector determined by the louvre slats is given by (sin(q), 0, cos(q)) (here q is an angle with absolute value less than 90°), the interpretation is the following: The angle q is the angle between the slats of the louvre (assuming that the slats are more or less plane, e.g. of rectangular shape, or if they are curved that they define a tangent at the exit on the downstream side) and the normal of the louvre plane (in this example the positive x-axis). The tangent vector in the xz-plane of the plane determined by the louvre slats is given by (cos(q), 0, sin(q)). A typical value of the angle q would be -45°. This would correspond to a case where the louvre panel is a shield for rain (assuming that vertically upwards is in positive z-direction).

Cartesian coordinates of normal vector of plane determined by the louvre slats for flow in negative direction. Similar comments apply here as those given above for NORMAL VECTOR SLATS POSITIVE.

In many cases this vector equals the normal vector for flow in positive direction. This is the case if e.g. the louvre slats have a rectangular shape. But if the louvre slats are e.g. V-formed the plane determined by the louvre slats for flow in negative direction is different from the plane for flow in positive direction.

The normal vector determined by the louvre slats for flow in negative direction should lie in the plane defined by the normal vector determined by the louvre slats for flow in positive direction and the normal vector of the louvre plane. If for example the louvre panel is oriented in x-direction and the normal vector of the plane determined by the louvre slats for flow in positive direction lies in the xz-plane, then the normal vector for flow in negative direction should also lie in the xz-plane.

Drag coefficient Cacc of drag due to acceleration of the magnitude of the velocity of the flow. This coefficient should be zero or positive. A typical value is 1 (this value is supported by theoretical considerations). Further guidance is given above.

Drag coefficient Cbend of drag due to bending of the flow. This coefficient should be zero or positive. The units of this coefficient is (1/radian). Further guidance is given above.

Drag coefficient Cf ric of drag due to friction. This coefficient should be zero or positive. Further guidance is given above.

An area porosity of the louvre panel is specified. This is not a projected area porosity on to the louvre plane (in many cases it is not possible to see through the louvre watching normally on it, i.e. the projected area porosity is zero), but is viewed as the ratio of open area to total area in a representative cut plane parallel to the louvre plane. If e.g. the louvre consists of rectangular slats of thickness D uniformly inclined relative to the louvre plane and uniformly spaced with centre/centre distance 4D, the area porosity is (4D - D)/4D = 0.75 (this value is independent of the angle of inclination). If the frame of the louvre blocks the panel considerably, this may be taken into account. If the blockage of the frame corresponds to an area porosity 8frame, the total effective area porosity in our example will be 0.75/frame

In the sub-grid model for louvre panels, the value of the area porosity affects the drag force only indirectly. The drag force is determined by the drag coefficients, the configuration of the louvre slats (determining the deflection of the flow downstream of the louvre), and the flow field. The value of the area porosity affects how the fluxes (of mass, momentum, etc.,) are set when solving the conservation equations at the louvre plane, and this will affect the flow field.

If the profile of the louvre slats has a complicated form, it may not be obvious how to estimate the effective area porosity. If the area porosity varies in different cut-planes parallel to the louvre plane, it is expected that a cut-plane with a minimum area porosity is the most representative. Perform several simulations varying the value of the area porosity, to investigate the sensitivity of the value of the area porosity on the numerical results. The limited testing in the validation simulations reported in (Salvesen, 1996b), seems to indicate that the maximum overpressure of an explosion simulation is in general not very sensitive to changes in the value of the area porosity. In one scenario the maximum overpressure dropped about 12% when the value of the area porosity was increased from 0.6685 to 1.0.

See also:

Louvre panels can be added quickly using the Arrange items functionality.

Warning:

The grating model should only be used in dispersion and ventilation simulations. The current model is designed for flow through the grating, but the important effect on flame acceleration along the grating is not handled correctly. It is recommended to use a porous plate in explosion simulations.

The static pressure-loss coefficient Cspl is defined by

p = 0.5p[U]2Cspi

(3.30)


where # is the pressure loss across the grating, p is the density, and U is the upstream velocity component normal to the grating. The component normal to the grating of the force per unit area from the grating on the fluid flowing through it, i.e. the drag force per unit area, is assumed to be equal to the static pressure drop over the grating. The static pressure-loss coefficient is modelled by:

(3.31)


Cspl =fl(Re)f2(/)f3(M)

where the factor depending on the geometry, characterised by the area porosity β , is given by:

f2 =(1 /)                           (3.32)

and the factor depending on the upstream Mach number M, and the upstream choking Mach number M(upstream Mach no. corresponding to choking at the grating) is given by:

f3(M)


m*   1/7

M - M


(3.33)


The choking Mach number is related to the area porosity, M* = M* (/). This relation is modelled by:

M *(/) = 0.675/ + 0.325/4

(3.34)


being a curve fit to experimental data.

The factor depending on the Reynolds number, Re , is modelled as a curve fit to experimental results. The characteristic length used in the Reynolds no. is the diameter of the wire (or of the rod if the grating is constructed by rods rather than wires). This curve fit and experimental data are shown in the figure below. Further details about modelling drag forces for flow through grating, are found in (Salvesen & Storvik, 1994).

Figure 3.49: Factor f1 related to Reynolds number


Factor fi(Re) in pressure-loss coefficient as function of Reynolds number (logarithmic scale). Both experimental data and a curve-fit to these data are shown.

An example of a setup for a louvre panel is shown below:

NAME

"NoName" 0.0, 0.0, 0.0, 1.0, RED 0.7 0.01


0.0 (m)

1.0 (m)

(-)

(m)


POSITION

SIZE

MATERIAL

AREA_POROSITY

CHARACTERISTIC_LENGTH

Character string identifying the grating considered.

Cartesian coordinates of the corner of the grating (the corner with lowest value of the coordinate in each axis direction).

The grating is assumed to be of rectangular shape. The dimension in each of the axis directions is given. One dimension should be zero, this shows how the grating is oriented. If e.g. the dimension in x-direction is zero, the normal of the grating points in x-direction. The other two dimensions should be positive.

The material to be used for modelling and visualising the grating; see the section on panel materials for remarks on the usage.

Ratio of projected open area of the grating divided by total area. Value between 0 and 1.

Characteristic length used in the Reynolds number, defined as the wire diameter (or similar dimension if it is not a wire, but a rod). A typical value of the characteristic length is 0.01m.

See also:

Grating can be added quickly using the Arrange items functionality.

The GAS MONITOR REGION functionality is used for monitoring the amount of fuel inside a user-defined volume, e.g. a module, during a dispersion simulation. FLACS-CFD will write a text file called rt010100.FUEL which contains a number of columns showing the amount of fuel inside the defined volume. The fuel concentration range being counted towards the quantities in the rt.FUEL file can be limited by setting ER LOW and/or ER HIGH in the PARAMETERS namelist in a setup file.

Note:

ER LOW and ER HIGH do not influence the flammability range of the fuel mixture modelled in Flacs, they only limit the concentrations taken into account when reporting for a GAS MONITOR REGION.

The output columns Q8, Q9, [LFL:UFL], Q6/Q7 are used for risk assessments in connection to dispersion studies and estimates of explosion severity and ignition probabilities.

If more than one region is needed, then you must create a cs010100.MON file. See the section on Custom gas monitor regions for details.

FlamMass [kg] is the mass of the fuel composition (e.g. natural gas) where the concentration of fuel (when fuel is mixed with air) is within the flammable limits (mass of air is NOT included in FlamMass).

FlamVol [m3] is the volume of the fuel-air mixture where the fuel concentration is within the flammable range. This volume includes both the fuel and the air, rather than just the fuel. In other words, FLAM is the volume of the fuel-air mixture where the fuel concentration measured by the Equivalence Ratio (ER) is between ER LOW (default: ER at LFL, ER LFL) and ER _ HIGH (default: ER at UFL, ER UFL).

Gasmass is [kg] the total gas mass in the mixture.

ERfacMass [kg] is the reactivity scaled flammable mass. It is equivalent to Q1 and evaluated as:

n

ERfacMass = Q1 = X FUELi · ERfac(ERi)                 (3.35)

i=1

Here FUELi is the mass of the fuel [kg] in the control volume, and ERfac(ERi) is defined here.

Q7 [m3] (as function of time t) is defined to be the volume that has experienced a fuel concentration within the flammable range at least once during the period from the beginning of the simulation up to the time t. At simulation start, Q7 is set to zero; Q7 is non-decreasing as function of time, i.e. it is either constant or increasing. Q7 can be reported for

Q6 [m3] at time t is the increment of Q7 during the interval [trunc(t) 1 s; trunc(t)], i.e. the last second before t (trunc(t) is the integer part of the time t measured in seconds). Thus, if for example t = 2.9 s, this interval is [1.0 s; 2.0 s], and if t = 3.0 s, then the interval is [2.0 s; 3.0 s]). Q6 is often applied for ignition modelling (constant ignition sources), as it describes the increment of new volumes being exposed to flammable gas for the first time. Q6 is updated for t = 0.0 s, after the first time step, at t = 1.0 s, and then for each 1.0 s.

To explain in more detail how Q6 is determined in FLACS-CFD, let us consider a simulation starting at time 0.0s. Then

Q6(t=0.0s) = Q7(t=0.0s) = 0.0 [m3],

Q6(t equal first time step after 0.0s) = Q7(t equal first time step after 0.0s),

Q6(t=1.0s) = Q7(t=1.0s) - Q7(t equal first time step after 0.0s),

Q6(t=2.0s) = Q7(t=2.0s) - Q7(t=1.0s),

Q6(t=3.0s) = Q7(t=3.0s) - Q7(t=2.0s), etc.

If there is no time step at exactly 1.0 s, the increment of Q6 takes place at the first time step after 1.0 s (and so on). Between the increments at every full second, Q6 is reported as constant.

When a simulation is restarted from a dump file, the history for Q7 for the time period before the time step of the restart is lost. In other words, Q7 is also set to zero at the start of a restarted simulation. This means that the values of Q6/Q7 as function of time for the restarted simulation will in general not be the same as the values of Q6/Q7 as function of time for the first simulation (i.e. the simulation started from scratch, covering the first time period until the dump file is made, plus the time period of the restarted simulation reading from the dump file). For this reason, it is advised to use data for Q6/Q7 only from simulations started from scratch, not simulations restarted from a dump file.

The fuel log file (rt<jobno>.FUEL) and monitor file (rt<jobno>.MON), which are output files generated for the GAS MONITOR REGION in the cs-file or cs-MON files, have two columns called Q8 and Q9. The quantities Q8 and Q9 are used to create equivalent stoichiometric gas clouds from real gas clouds.

Q8 This column reports the expansion-base weighted volume, that is the closed volume equivalent cloud at concentration for maximum expansion (normally near stoichiometry).

Q9 This quantity gives an improved version of the previously used Q5, where both maximum flame speed and maximum expansion are taken into account.

For enclosed situations, and situations where combustion is much quicker than venting (including quasidetonation and flames faster than speed of sound ahead), Q8 will be a recommended equivalent cloud size.

For well-vented situations Q9 is generally recommended as equivalent stoichiometric cloud. Q8 is defined as

08=__________Pn=i Vi[Ve(ERi)-1]__________

(3.36)


Q   max{[Ve(ER) 1] : ERlflER ERufl}

and Q9 as

9 =           Pn=i Vi[Ve(ERi) - 1]ERfac(ERi)

(3.37)


Q = max{[Ve(ER) - 1]ERfac(ER) : ERlflER ERufl}

The summation i = 1,...,n is over all the control volumes of the numerical grid inside the gas monitor region considered where the Equivalence Ratio (ER) is between the value of ER at the Lower Flammability Limit (LFL) and the value of ER at the Upper Flammability Limit (UFL), that is ERlflER ERufl. Here Vi is the volume [m3] open for fluid flow in the control volume (the volume porosity is taken into account, so only the non-blocked volume counts).

The function ERfac(ER) [-] has a value between 0 and 1, depending on the value of ER:

ERfac(ERi)


SL(ERi)

(3.38)


max{SL(ER) : ERlflER ERufl}

with Sl the laminar burning velocity (corrected for flame wrinkling/Lewis number effects). For ER = ERLFL orER = ERUFL, ERfac(ER) has value 0; for ER = ERtop, ERfac(ER) has the value 1. ERtop is in general close to, but not exactly equal to 1.0 ( ER =1.0 corresponds to the stoichiometric condition). In summary, in the flammable range, ERfac(ER) is the laminar burning velocity profile scaled to the maximum of one, while it is zero outside the flammable range.

The maximisation in the denominator, max{[Ve(ER) 1]ERfac(ER) : ERlflER ERufl}, normally occurs for a value of the Equivalence Ratio close to, but not exactly equal to 1.0 since it also includes the volume expansion ratio at constant pressure, Ve [-], which depends on the Equivalence Ratio (concentration of fuel in the fuel-air mixture), and is defined by:

Ve


Vburnt


Vunburnt


(3.39)


Here VUnburnt is the volume [m3] of the fuel-air mixture before any combustion, and Vburnt is the volume of the combustion products; combustion is assumed to be at constant pressure, with adiabatic expansion, and at thermodynamic equilibrium (these are theoretical assumptions when defining Ve that will not normally be valid during a gas explosion). By employing the ideal gas law one obtains:

m                m

(3.40)


p VUnburnt = V7      <Tunburnt and p Vburnt = V7    <Tburnt,

M unburnt                        Mburnt

where p[Pa] is the pressure, is the ideal gas constant (8314.3 [J/kmol K]), T[K] is the temperature, and M [kg/kmol] is the mean molecular weight for the mixture considered. Since the mass m is the same before and after burning, the volume expansion ratio at constant pressure, Ve, can be rewritten as:

Ve


Tburnt/Mburnt

Tunburnt /^^unburnt


(3.41)


Multiple gas monitor regions can be specified by using the Monitor file (cs.MON). The monitor file can either be created directly in a text file editor or in the Custom gas monitor regions section of the scenario menu. Monitor regions can be of type Line or Volume. Each gas monitor region must have a unique name <name>. Overall output for all monitor objects is written to a text file with the name rt<jobnumber>.MON, and detailed output per monitor object is written to text files called rt<jobnumber>.MON.<name>. A maximum of 100 monitor objects can be specified in the cs<jobnumber> .MON file.

Line monitors can be used to measure fuel concentrations or pressure along a given line in the domain. The line is defined by its start and end position and will be divided into a number (default 100) of segments of equal length. Values are obtained at all intermediate points along the line by using tri-linear interpolation of

the 3D data. Detailed output for each of the points along the line can be obtained and will be written to the line monitor's specific file. In the general rt<jobnumber> .MON file, basic output for the line monitor is recorded, for example the average or integral value over the length of the line.

See also:

The syntax for the line monitor specification is explained in the monitor file section.

Volume monitors can be used to measure amounts of fuel inside a given volume in the domain. The volume is defined by two diagonally opposed corner points of a rectangular box, start and end, resulting in a cuboid whose faces are parallel to the grid planes. The results are written to the common rt<jobnumber>.MON file and to the monitor's specific file. Several output variables are included, e.g. total amount of fuel (kg) and equivalent cloud sizes (m3). The total fuel amount is calculated by summing up contributions from each cell inside the volume.

See also:

More details on volume monitors can be found in the monitor file section. If only a single monitor region is needed then it can be specified as GAS MONITOR REGION in the cs-file.

Gases not defined in FLACS-CFD can be defined manually as user species. A user species is defined by a number of parameters that are used in the material property models in FLACS-CFD. It is important that the values provided for these parameters are appropriate to the range of temperatures that occur in the simulated physical process.

Properties of predefined species in FLACS-CFD can be found by running a utility program called listspecie. For METHANE, the output looks like

> run listspecie METHANE

FLACS listspecie (version 1.4, 2013-12-09)

Copyright 2013, Gexcon AS

Values for METHANE

WFUEL

0.1604303E+02

LDENS

0.4250000E+03

SLR

0.1600000E+01

SLP

0.1500000E+00

SLA

0.1668000E+01

SLB

-0.3930000E+00

AMOL

0.2000000E+01

CMOL

0.1000000E+01

HMOL

0.2000000E+01

SMOL

0.0000000E+00

OXY

0.0000000E+00

AENT

0.1200000E+04

BENT

0.3400000E+01

DENT

0.5190000E+07

ALENT

0.6630000E+04

BLENT

0.0000000E+00

DLENT

0.6160000E+07

ASIGMA

0.3280000E-01

BSIGMA

-0.1790000E-03

AVAPPR

0.2011707E+02

BVAPPR

0.8978400E+03

DVAPPR

-0.7160000E+01

VISCB

0.1141400E+03

VISCT0

0.2291233E+02

VISCGA

0.2065000E-05

VISCGB

0.3039000E-07

CONDGA

-0.7636000E-02

CONDGB

0.1386000E-03

CONDLA       0.1500000E+00

CONDLB       0.0000000E+00

TCRIT        0.1905640E+03

PCRIT        0.4599000E+07

By just giving the command:

> run listspecie

you get the output:

FLACS listspecie (version 1.4, 2013-12-09) Copyright 2013, Gexcon AS usage: listspecie species where species can be

METHANE

ACETYLENE

ETHYLENE

ETHANE

PROPYLENE

PROPANE

BUTANE

PENTANE

HEXANE

HEPTANE

OCTANE

NONANE

DECANE

HENDECANE

DODECANE

HYDROGEN

CO

H2S

H2O

CO2

CL2

The parameters of the material property models for new species are given in the table below together with information for which applications they need to be specified.

Table 3.31: Species parameter definition depending on the type of scenario.

Variable

Unit

Description

Dispersion

Combustion

Pool evaporation

WFUEL

kg/kmol

Molar mass of specie. (Same as WSPEC in python api)

X

X

X

AENT

J/(kgK)

Enthalphy constant A for gas

X

X

X

BENT

J/(kgK²)

Enthalphy constant B for gas

X

X

X

DENT

J/kg

Enthalphy constant D for gas

X

X

X

AMOL

-

Stoichiometric mole ratio O2/FUEL

X

X

CMOL

-

Number of moles C in 1 mole FUEL

X

X

HMOL

-

Number of moles H2 in 1 mole FUEL

X

X

SMOL

-

Number of moles S in 1 mole FUEL

X

X

Variable

Unit

Description

Dispersion

Combustion

Pool evaporation

OXY

-

Number of moles O2 in 1 mole FUEL

X

X

SLR

-

SL dependency on flame radius

X

SLP

-

SL dependency on pressure

X

SLA

-

SL dependency on initial temperature

X

SLB

-

SL dependency on initial pressure

X

LDENS

kg/m³

Density of specie in liquid state

X

ALENT

J/(kgK)

Enthalphy constant A for liquid

X

BLENT

J/(kgK²)

Enthalphy constant B for liquid

X

DLENT

J/kg

Enthalphy constant D for liquid

X

ASIGMA

N/m

Surface tension constant A

X

BSIGMA

N/(mK)

Surface tension constant B

X

AVAPPR

N/m²

Vapour pressure constant A

X

BVAPPR

(N/m²)K

Vapour pressure constant B

X

DVAPPR

K

Vapour pressure constant D

X

T MIN VA

Lower temperature limit for vapour

X

T_MAX VA

Upper temperature limit for vapour

X

VISCB

(N/m²)s

Viscosity constant B

X

VISCT0

K

Viscosity constant

T0

X

VISCGA

(N/m²)s

Viscosity constant A

X

VISCGB

Ns/(m²K)

Viscosity constant B

X

CONDGA

(J/s)/(mK)

Conductivity constant A

X

CONDGB

(J/s)/(mK²)

Conductivity constant B

X

CONDLA

(J/s)/(mK)

Conductivity constant A

X

CONDLB

(J/s)/(mK²)

Conductivity constant B

X

TCRIT

K

The fluid's critical temperature point

X

PCRIT

N/m²

The fluid's critical pressure point

X

Variable

Unit

Description

Dispersion

Combustion

Pool evaporation

In addition to all above properties, if the gas is flammable, and you are running an explosion scenario or a dispersion scenario where you are interested in the flammability limits or flammable volume, the gasdata file must be provided to the simulator for each flammable species. FLACS-CFD comes with gasdata files of all the species named in CASD and DIPPR species that have Gibbs data installed in the gasdata directory of the package. However, if the gasdata file is not provided for the species, it will be treated as inert and the results will be incorrect. The gasdata file contains information on the laminar burning velocities (SLAM) as a function of the equivalence ratio (ER). The first and last entries of the gasdata file must have SLAM=0, and are used as the lower and upper flammability limits.

To define a new species, open the Gas composition and volume section in the scenario menu. In the Volume fractions part you may define the volume fraction for e.g. USERSPEC 1 (double-click on Volume fractions to see the species list). Open the section User species of the scenario menu and add a new species. Then edit the new species according to the Species parameter definition table: in this case, the name should be set to USERSPEC 1 and all relevant parameters should be assigned values.

The parameters from the table are presented briefly in Species parameters relevant to all FLACS-CFD applications, together with the models that use them.

Grouping and sorting options are not allowed in this section to maintain the same sequence as in Volume fractions.

Instead of defining your own species manually, the AIChE DIPPR 801 database can be used to create FLACS-CFD species. DIPPR is an industry standard chemical component database with 2130 different compounds. To create a new FLACS-CFD species using DIPPR you must open the DIPPR dialog by selecting the Add species from DIPPR database option in the context menu of the User species section. This will allow you to pick one of the chemicals defined in the DIPPR database, for example Isopentane, and convert it into a FLACS-CFD species by pressing OK. The version of the DIPPR database used can be chosen at the top of the dialog.

Figure 3.50: The DIPPR Dialog

How well the chemicals can be converted to a FLACS-CFD species depends on the representation of it in the DIPPR database. This can be verified by selecting the chemical and clicking on the Verify Plots button. This will open up a new dialog that shows the FLACS-CFD species properties for the selected chemical and how well the curve fitting went for the temperature dependent properties.




Figure 3.51: Plots and properties for Isopentane




In order to provide SLAM data for a custom species based on a DIPPR chemical it is necessary to generate a matching gasdata file, which can be generated for the selected chemical by using the Export Gas Data File option from the DIPPR dialog. This opens the dialog shown in the figure below.

/tm p/mon-test/ISO PENTANE.txt



0

0



Lower Flammability Limit: 1.400%

Upper Flammability Limit: 7.600%

FLACS

GIBBS




Figure 3.52: Export gas data dialog for Isopentane

Remember to rename the gasdata file to the respective species name (for example ”USERSPEC ISOPENTANE”) and to set GASDATA MODEL in setup file to the file location if it is not located in the same folder as the scenario file. When in doubt, follow instruction and examples in

The JOBSPEC namelist.

In the export dialog the blue dots in the plot shows laminar burning velocities as a function of equivalence

ratios taken from (Gibbs and Calcote, 1959), hereafter referred to as gibbs data. The gibbs data is used in conjunction with the lower and upper flammability limits. When the dialog is opened the lower and upper flammability limits are automatically calculated and set based on data from the DIPPR database.

Note:

Export Gas Data File is only available for chemicals that have GIBBS data; the chemicals that have GIBBS data can be found by looking at the SLAM DATA column in the DIPPR dialog.

The parameters that are required even when only dispersion of the gaseous phase is considered (i.e. no combustion and no modelling of evaporation from the liquid phase) are explained below.

WFUEL [kg/kmol] Molar mass of the species. (Named WSPEC in the python api)

Hgas = (AENT + BENT • T/2) T - DENT                      (3.42)

where

AENT [J/(kg K)] First enthalpy constant.

BENT [J/(kg K2)] Second enthalpy constant.

DENT [J/kg] Third enthalpy constant.

The specific heat capacity at constant pressure Cp [J/(kg K)] is modelled as function of temperature T [K] by the linear relation:

Cp = AENT + BENT • T                             (3.43)

The linear approximation of the heat capacity as function of temperature is done so that Cp is well approximated in the temperature range relevant for the physical process that is simulated by the core simulator flacs.

If measured data for Cp = Cp(T) is found from literature in the above form, then the constant DENT can be set so that the expression for the specific enthalpy H [J/kg] at T = 298.15K, equals the standard enthalpy of formation (measured in [J/kg]). Thus DENT is set to:

DENT = (AENT + BENT • 298.15K/2) 298.15K - Hformation              (3.44)

where Hformation [J/kg] is the standard enthalpy of formation for the species. The standard enthalpy of formation (sometimes also called standard heat of formation) is here defined as the change of enthalpy that accompanies the formation of one mole of a substance in its standard state from its constituent elements in their standard states. By standard state is here meant the most stable form of the element at pressure 100kPa and temperature 298.15K. In FLACS-CFD the units [J/kg] are used for enthalpy, other units of energy per amount of substance, e.g. [kJ/mol], may be found in the scientific literature.

To find the constants for approximating the specific enthalpy Hgas for a species by a second order polynomial you can use a spreadsheet processing software with trendline function. However always make sure to get the dimensions correct.

Besides the property models and parameters discussed in the previous section, the following ones apply when simulating combustion and explosion scenarios. Note also that modifying laminar burning velocities in gasdata file for explosion and fire simulations, will in general be needed when modelling combustion of a user-defined species (e.g. in gasdata file USERSPEC 1, cf. example for HEXANE here). In general the user is advised to be very careful in using user-defined species for explosion simulations, without proper validation. For screening purposes, it might be a better alternative to approximately represent your species using instead a conservative, validated species (e.g. one of the pre-defined species).

AMOL [-] Stoichiometric mole ratio O2/FUEL.

CMOL [-] Number of moles C in 1 mole FUEL.

HMOL [-] Number of moles H2 in 1 mole FUEL.

SMOL [-] Number of moles S in 1 mole FUEL.

OXY [-] Number of moles O2 in 1 mole FUEL.

Here FUEL is the species considered. When for example the species is the predefined FUEL propane ( C3 H8 ), the parameters are given by:

AMOL : 0.5000000E+01

CMOL : 0.3000000E+01

HMOL : 0.4000000E+01

SMOL : 0.0000000E+00

OXY : 0.0000000E+00

SLR [-] SL dependency on flame radius

SLP [-] SL dependency on pressure:

SLafter = SLbefore X (P/Po)SLP

(3.45)


(3.46)


SLA [-] SL dependency on initial temperature T0:

T SLA

SLafter = SLbefore X ( 2985K)

SLB [-] SL dependency on initial pressure P0 :

SLafter = SLbefore X


Po)SLB 105Pa


(3.47)


Here SLafter is the modified value of the laminar burning velocity (SL) after the dependency is taken into account (and S Lbefore is the value of the laminar burning velocity before the dependency is taken into account).

If also the liquid phase of a fuel is considered, for example evaporation from a liquid pool, some additional parameters are relevant, which are described here.

LDENS [kg/m3] Liquid density of FUEL.

Hliquid = (ALENT + BLENT · T/2) · T - DLENT                    (3.48)

A common approximation is to set BLENT = 0, reducing Hliquid to vary linearly with temperature. The constant ALENT is given as Cp,liquid (which can be assumed to be constant for the liquid). Knowing the specific enthalpy of the gas, Hgas, and the heat of evaporation dHevap = Hgas - Hliquid , the constant DLENT in the expression for Hliquid can be calculated. Values for dHevap can be found in textbooks or online databases.

The specific heat capacity at constant pressure Cp,liquid [J/(kg K)] can also be modelled as function of temperature T [K] by the linear relation:

Cpjiquid = ALENT + BLENT • T                           (3.49)

where

ALENT [J/(kg K)] First enthalpy constant for the species in liquid phase.

BLENT [J/(kg K2)] Second enthalpy constant for the species in liquid phase.

DLENT [J/kg] Third enthalpy constant for the species in liquid phase.

The linear approximation of Cpjiquid as function of temperature has to result in a good approximation of the heat capacity in the temperature range relevant for the physical process that is simulated by Flacs.

σ = ASIGMA + BSIGMA · T

(3.50)


with the constants

ASIGMA [N/m] First surface tension constant.

BSIGMA [N/(m K)] Second surface tension constant.

The linear approximation of σ as function of T has to be sufficiently accurate in the temperature range relevant for the process that is simulated by Flacs.

BVAPPR

(3.51)


p = exp AVAPPR -vapor

with

AVAPPR [N/m2] First vapour pressure constant.

BVAPPR [(N/m2) K] Second vapour pressure constant.

DVAPPR [K] Third vapour pressure constant.

If a parameter similar to AVAPPR is found for a parameterisation of the vapour pressure in [mmHg] instead of in [Pa], then one must add ln(133.3224) = 4.89277025508 to obtain the correct value for AVAPPR when pvapor is in [Pa] as is the case in FLACS-CFD. Here it is assumed that 1mmHg (mercury) is equal to 133.3224Pa (the so-called conventional millimetre of mercury).

To complete the equation for vapour pressure, the lower and upper temperature limits must be specified, T MIN VA and T MAX VA, respectively. These limits will be used by the simulator to issue a warning in case the temperatures attained in the simulations leave the valid range when calculating vapour pressure.

with

VISCB First viscosity constant.

VISCT0 Second viscosity constant.

VISCgas = VISCGA + VISCGB • T

(3.53)


where

VISCGA [(N/m2) s] First viscosity constant.

VISCGB [N s/(m 2 K)] Second viscosity constant.

CONDgas = CONDGA + CONDGB • T                         (3.54)

with the parameters

CONDGA [(J/s)/(m K)] First conductivity constant.

CONDGB [(J/s)/(m K2)] Second conductivity constant.

CONDiiq = CONDLA + CONDLB • T                          (3.55)

where CONDLA and CONDLB have the same meaning and units as CONDGA and CONDGB of the gas thermal conductivity.

Data for the property constants can, for example, be obtained from NIST, Reid et al. (1977), or various databases.

In this example, it is assumed that only dispersion of gaseous fluorine, F2 , is considered with no combustion and no evaporation from liquid.

Define a new species for F2 by using the parameters for CO2 except that the values for WFUEL, AENT, BENT, and DENT are changed (see the section above) to:

WFUEL 0.379968E+02

AENT 0.788386E+03

BENT 0.172791E+00

DENT 0.242737E+07

The parameters for CO2 are listed by giving the command:

> run listspecie CO2

You may also change the parameters for CMOL and OXY so that they are correct for F2 (but these are not essential when there is no combustion during the simulation):

CMOL 0.000000E+00 OXY 0.000000E+00

Then you can run a dispersion simulation with F2 as a user-defined species.

There is also an alternative approach for dispersion of F2 : If you find it acceptable that the enthalpy is modelled only approximately correct, then you may combine ordinary fuel components so that the mean molecular weight of the fuel composition is 0.379968E+02, the value for F2 . The fuel composition will then behave approximately as F2 in the dispersion simulation. It must be stressed that no modelling of combustion or evaporation can be carried out by this approach.

It is possible to choose the radiation model for fire or gas explosion scenarios. There are following options available:

The Discrete Transfer Method (DTM) model is the most accurate model and is the default option for fire solver. This model uses an advanced DTM ray-tracing method to calculate radiation levels in the 3D domain as well as for selected monitor points. The DTM calculations can take a significant part of the total calculation time, especially when running the DTM model on the full domain, and they also increase the memory footprint of the simulation considerably. However, in many cases it is possible to limit the extent of the DTM model to a smaller part of the full CFD calculation domain, either with or without the far field model in the rest of the domain. The reduction in the DTM domain size reduces the simulation time and memory footprint significantly.

For smoke dispersion modelling, the DTM model with low number of rays (e.g. 12) will be faster and sufficiently accurate for defining flame shape and size. Six-Flux model is recommended for fire or gas explosion scenario where heat flux output is not required.

It is also possible to completely disable the radiation model by selecting None, however this is not recommended, as not accounting for any radiation will make the results inaccurate.

Note:

Only available if Show advanced is checked.

The emissivity of walls and surfaces is defined with the emissivity option. This option influences for all surfaces how much of the incident heat radiation is radiated outwards again. A completely black body has an emissivity of 0 while a perfectly white body has a value of 1.0. The default value is 0.85 and is applicable for most steel surfaces. It is currently only possible to define a single value for all surfaces.

Note:

Only available if Show advanced is checked.

This allows to select a specific Weighted Sum of Grey Gas model (WSGGM) which models how much of the heat radiation is absorbed and emitted by the gas. It is also possible to prescribe a specific constant coefficient.

It is recommended to use the Danish-Coupled-WSGGM for DTM calculations. Note the naming (e.g. Swedish and Danish) is used to indicate the university group(s) where the models were initially developed.

Note:

Only available if Show advanced is checked.

Define the constant value of the absorption coefficient. Mainly used for validation purposes. 0.0 (default)

Note:

Only available if Show advanced is checked.

Define the value of the scattering coefficient. It is generally recommended to use the default value 0, as there is very little effect on thermal radiation. 0.0 (default)

Note:

Only available if Show advanced is checked.

Define the beam length model used in the uncoupled WSGGM to pre-compute an absorption coefficient. Not used in the (default) coupled WSGGM model.

Constant value proportional to the ratio of volume to surface area.

Note:

Only available if Show advanced is checked.

Controls the start of the radiation calculations.

Note:

Only available if Show advanced is checked.

Used in combination with RADIATION START to define the (absolute or relative) time (in seconds) when to start radiation calculations. The default value is 0.0.

Note:

Only available if Show advanced is checked.

To provide more stability, it is possible to enable (set to 1) a ramp function to dampen steep gradients in the source term immediately after starting the DTM calculations. The default value is 0 (i.e. disabled).

Note:

Only available if Show advanced is checked.

Maximum number of iterations inside the DTM routine. The default value is 25.

Note:

Only available if Show advanced is checked.

Maximum normalised change in the surface radiation intensity from one DTM sweep to the next. This determines when the radiation field is considered converged. The default value is 0.001.

The frequency (in terms of time steps) with which the radiation terms are updated as the continuous phase solution proceeds. The default value is 100. For highly transient fires it is recommended to carry out sensitivities with lower values.

Time between calls to the radiation solver (in seconds). To activate this, enter a positive real value. The default value is -1 (i.e. disabled). When DTM MOD TIME has a positive real value, it overrides the DTM MOD ITER setting.

Note:

Only available if Show advanced is checked.

Field of view discretisation of the DTM rays. Defines the method of distributing the rays over the radiating surface:

Number of rays being traced from each surface cell for the DTM (resolution of the hemisperical discretisation).

The default value is 108. In case of strong radiation pattern artefacts (e.g. flower pattern) increasing the number of rays to 192 or higher should reduce the artefacts.

See also:

More information on the BestPractice OptimalCalcSpeed NrOfRays is available in the Best practice chapter.

The number of rays is automatically rounded to the nearest value according the to the following formula:

where N is a positive integer.

Note:

Only available if Show advanced is checked.

Print the CPU-time and residual for each iteration of DTM.

Note:

Only available if Show advanced is checked.

Activates the three-dimensional radiative flux output. Default is 0 (i.e. disabled).

This feature is not yet implemented in FLACS-Fire.

From FLACS-CFD 21.3 FLACS onwards DTM ray segments are calculated on the fly and a DTM buffer is no longer used. DTM BUFFER SIZE has therefore been depricated.

Note:

Only available if Show advanced is checked.

Define the radiative flux cut-off value (in kW/m2) for combining the DTM and far-field results within the DTM domain. Below the cut-off value, results from the far-field model are used. The default value is 10 kW/m2. If the far-field model is disabled, only the DTM results are shown and this setting has no effect.

Note:

Only available if Show advanced is checked.

Activates the multi-point source far-field radiation model. Default is 1 (i.e. enabled).

Note:

Only available if Show advanced is checked.

Activates the blocking (shadow) effect of geometry in the far-field region. Default is 1 (i.e. enabled). Note that even when this parameter is enabled, shadow effects are still ignored for the QRADFF parameter to reduce calculation times.

Note:

Only available if Show advanced is checked.

This allows to select criteria to define the DTM domain:

Note:

Only available if Show advanced is checked.

Temperature (in K) cut-off value to define the DTM domain. Used in combination with

DTM DOMAIN _ CONSTRAINTS (Automatic, Automatic min) to define the DTM domain. The default value is 500 K.

Note:

Only available if Show advanced is checked.

Cartesian coordinates [m] of the corner of the box-shaped DTM domain (the corner with the lowest coordinate value in each axis direction). Used in combination with DTM DOMAIN _ CONSTRAINTS (Automatic min) to define the DTM domain.

Note:

Only available if Show advanced is checked.

The size [m] of the box-shaped DTM domain in each of the axis directions. All three values must be positive. Used in combination with DTM _ DOMAIN _ CONSTRAINTS (Automatic min) to define the DTM domain.

The following combustion models can be selected:

It is recommended to use the EDC model.

Enable extinction in the EDC combustion model.

The main purpose of this option is to allow flame extinction. This feature can also be used to potentially improve the modelling of the flame lift-off length for jet-fires, when used together with a user defined chemical time scale. To set the chemical time scale (in seconds) use ”TAU CHEM=” in the KEY field in the cs-file (see Special control keys). Please contact Gexcon for guidance on which chemical time scale to use and limitations. As this feature is still under development and testing it is not recommended to enable extinction for any type of scenario.

The FIRESWITCH changes the behaviour of the combustion model in FLACS-Fire. There are three options: With the default setting (0) only the EDC model is used; this is recommended for immediately ignited jet and for fires where the consequences of explosion overpressures are expected to be low compared to those of the fire. When automatic selection is enabled (1), the solver will automatically select the flame regime (either the EDC or pre-mixed model, similar to the model in FLACS-GasEx) in each control volume during each time step, this allows modelling of scenarios where both a fire or an explosion occurs. While this setting should give similar results as when modelling with the GasEx model for pre-mixed clouds, it has not been fully validated and should be used with caution. The third option changes the settings in the EDC model specifically for pool fire scenarios and is the recommended setting for pool fire simulations. In summary:

Attention:

When modelling pool fires it is important to remember to set the FIRESWITCH to 2 (i.e. EDC for pool fires)

Control variables related to coupled pool-fire modelling are given in the Pool section of the scenario file.

The soot model used by FLACS-CFD can be selected with this variable. The most detailed model in FLACS-CFD is the Formation-Oxidation model. This model is based on the work by Khan & Greeves (1974), Magnussen & Hjertager (1976) and Kleiveland (2005). It accounts for both formation of soot in the flame as well as (partial) oxidation of the soot. The model includes the effect of ER, temperature and pressure on the formation of soot. The subsequent (partial) oxidation of the soot is subject to the exposure time and the available oxygen.

The soot source term ωs in the transport equitation is sum of formation term ωs,f and the oxidation term ωs,ox :

®s = ^s,f + ωs,ox                                  (3.56)

The soot formation term ωs,f is written as:

3s,f = ( Cfpxfuel(ER)3 exp(RT) I 0     otherwise.

if 1.67 <= ER <= 3.00,


(3.57)


The soot oxidation term ωs,ox is written as:

where


^s,ox = 4pTYmin,


Ymin = min(^oot,


YO2


Ysoot νsoot


vsoot YSootvsoot + Yfue1Vfuel


(3.58)

(3.59)


The alternative, and simpler, fixed conversion factor model uses a fixed conversion rate to calculate soot in the combustion products. As this is a fixed factor, it depends only on the fuel burning rate and is independent of equivalence ratio (ER), temperature, time etc. However to prevent non-physical soot production in lean mixtures and for mixtures around stoichiometric ratio, soot is only produced when the ER is above 1.5.

Formation-Oxidation (default)

When the fixed conversion factor model is used, the soot yield fraction of fuel mass must also be defined.

• 0.01 (default)

The value is only used when the fixed conversion factor soot model is selected. For typical hydrocarbons the soot yield is in the order of 1%.

This option can be used to enable thermally active walls.

Attention:

The conduction model in FLACS-Fire is not yet validated.

The solid flame model scenario is graphical user interface used to create the HEAT file. This help to assign boxes with given convection or radiation heat flux and temperature.

Solid Flame (with radiation heat flux) simulation only run the full domain DTM model to get the radiation field for that given instant and does not solve for flow. This model use flame shape, size and surface emissive power from simplified model (correlations in literature or EFFECTS or FRED) and use it to build our frozen/solid flame and then compute 3D radiation field (QRAD at surfaces & monitors) including shadowing effect on objects surrounding it.

The View menu in CASD contains commands for manipulating the view.

The Print menu allows exporting a screenshot of the CASD window into different formats:

Note:

This command is only available when using the deprecated OpenInventor viewer.

The default and most widely used viewer is the Examiner viewer. The Fly viewer can be used to fly through the geometry.

The option XY View and XZ View display a projection of the geometry in the XY and XZ planes respectively. The options YZ East View and YZ West View display a projection of the geometry in the YZ plane along the positive and negative Y-axis respectively.

The 3D View option displays a default 3D view of the geometry.

The Axis option turns axis display on and off.

Shortcut: SHIFT+M

The option Maximise maximises the visible window to display the entire geometry and grid.

Three mutually exclusive options are available in the Grid Display menu:

There is one additional option, Superimpose on geometry, which overlays the grid on the geometry. This feature works in conjunction with the three mutually exclusive options described above.

This feature is used to show/hide all the textual annotations (for example monitor point labels) in the graphical view.

Different options are available in this menu:

Note:

This command is only available when using the deprecated OpenInventor viewer.

The LOD (Level Of Details) and properties menus control the details of the geometry displayed.

In order to display geometry more efficiently, the internal representation of geometry in CASD is organised spatially, and level-of-detail (LOD) and culling are used. LOD is a method used to avoid displaying all the details on objects that are far away and not visible anyway, and culling is used to avoid displaying geometry that is outside the field of view. The spatial organisation makes these methods more efficient, as large instances can be shown with varying level of detail, and parts that are not visible can be culled faster. Unfortunately it also increases the geometry loading time as a side effect. The detail level for a part of an instance is based on the screen size of its bounding box. If it is below a specified threshold, that part is shown as just the bounding box instead of displaying the individual primitives.

The threshold levels in the View Properties dialog specify the size of the instance in pixels on the screen when the detail level should change. Minimum LOD means the instance will not be shown at all, and full LOD means it will be shown with all details. In between full and minimum it will be represented by one or more boxes.

Culling limit is used to avoid culling simple objects. Instances where the total number of primitives is below the culling limit will not be culled. This is useful because attempting to cull many small instances can be inefficient.

The load filter can be used for very large geometries, to limit loading of only a part of the geometry. Instances can be filtered on material, position and size or a combination, so you can for instance only load instances of a specific material within a region of interest.

Three kinds of filters are available:

Bounding box: applies to instances that have a bounding box that intersects a user-defined box. This means it will also apply to instances that may visibly be outside the box, but where the bounding boxes overlap.

Material: applies to instances of objects of a specific material.

Size: applies to instances with a size of the largest diagonal of the instances bounding box.

The load filters dialog is available in the Geometry menu. Click the Add button to add a new filter. Rightclick in the filter properties list box to bring up the pop-up menu, and select Add Bounding box or Add Material to add a bounding box or material filter rule. Use the pop-up menu or double click the filter to set its properties. The bounding box can also be interactively positioned and resized by dragging its handles in the geometry view.

The filter can be set to match any rule, or all rules. For instance it can apply to objects either inside a bounding box or having a material, or objects inside a bounding box that also have a specific material.

In the advanced tab you can also add filter groups. This can be used to create filters that for instance apply to objects inside a bounding box, and objects inside a different bounding box with a specific material.

In this menu, you can set certain options regarding CASD.

Choose between the following units for the spatial dimensions: millimetres (mm), centimetres (cm), decimetres (dm), meters (m), and inches (in); the default option is meters.

You can set preferences for:

If the option ‘Write hue in macros’ is checked, then CASD will write the hue (colour) for every primitive to the macro files. This is not compatible with FLACS-CFD versions prior to v9.1r2.

If the option ‘Show warning when creating rotated primitives’ is checked, CASD will warn you if you create a primitive that is not aligned to the coordinate axes or when you rotate an existing primitive to an angle which is not a multiple of 90 degrees.

If the option ‘Enforce project and geometry numbers in job number’ is checked, only the last 2 digits in the 6 digits job number can be freely set. The first 4 digits must set according to the project and geometry numbers in the geometry database.

Threads used by FGC specifies how many threads are used by FGC (Flacs Geometry Calculator) when it is run.

Model used by FGC allows you to choose if FGC (Flacs Geometry Calculator) should use the FLACS-CFD or CAD model when calculating porosities.

In this tab the background colour for the CASD geometry windows can be set.

The control ‘Fast redraw’ currently does not work. When nVidia graphics cards are used ‘Fast redraw’ is always on, when a different type of graphics card is used ‘Fast redraw‘ is off.

If the option ‘Highlighting while in motion’ is set, selected geometry will stay highlighted while it is moved. This will reduce graphics performance.

‘Show FPS indicator’ selects whether the frames-per-second (FPS) indicator in the graphics window is shown. It can be used to check the graphics speed; a higher FPS count indicates better graphics performance.

Remarks:

Two numbers are shown: the first is the maximum frame rate that would be possible with the current scene, the second number is the current frame rate.

Using the ‘Detail level’ slider, the graphics detail level can be set. A lower detail level will increase the graphics performance and vice versa.

The option ‘Max snap points’ sets the maximum number of snap points CASD will show. A high number will reduce graphics performance. The default is 25000.

3.9.3 Plugins


* Plugins



Name

Visualise leak Staircase

Refine on export Refine leaks

Python

JUMP-Explosion JUMP-Dispersion JUMP geo2flacs Create cloud

Crater Arrange items


Author Description

ed

bl

Ena____________



GexCon View leaks

GexCon Geometry staircasing

GexCon Perform grid refinement when exporting jobs from a JUMP graph

GexCon Refine the grid around leaks.

GexCon Allows scripting of Casd using Python

GexCon JUMP explosion template

GexCon JUMP dispersion template

GexCon QRA Tool

GexCon Geometry import

GexCon Makes it easy to create gas clouds

GexCon Make craters in terrain

GexCon Arrange scenario items in an array or on a line.

Close           Help

A plugin is a software component that adds a certain feature to CASD and can be loaded and unloaded at runtime. Plugins can be enabled or disabled in CASD's plugins window. Most plugins depend on the Python plugin, thus disabling Python will also disable all plugins based on Python.

If you have sufficient Python expertise, you may write your own CASD plugins. This is currently not officially supported by Gexcon, and very little documentation is available.

In order for CASD to find your plugin, its filename must end with plugin.py, and it must be located in either the plugins directory, or a directory specified by the CASD PLUGIN PATH environment variable. See the Python API section for more information on the Python interface.

Under this menu entry, you can access the different CASD window types, for example the 3D view/geometry window, the scenario menu, and the different tool bar sections. If you have closed one of the windows by accident, then you can re-enable it through this menu.

Note:

Some of the window types accessible in the menu belong to FLACS-Risk and are not useful when defining single simulations in CASD.

You can rearrange the individual windows and tool bars in CASD to define layouts that best suit your preferences and work flow. The ‘Layout manager’ allows you to save, activate, and manage the different layouts you may define. The layouts are preserved for future CASD sessions.

Attention:

‘Clear layout settings’ will remove all user-defined layouts!

Warning:

The macro functionality is deprecated from FLACS-CFD 20.1 and onwards. The feature have not been removed from the product, but will not be updated or be able to support new features.

The Macro menu contains commands for running and recording macros.

To create a geometry from a set of macro files, use the Run command in the Macro menu. Alternatively use the command input to read the macro file geometry name.mcr: macro run geometry name If the project or geometry already exists in the database, an error message is displayed and CASD exits from the macro.

Table 3.32: Macro files

Macro

Description

geometry name.mcr

Creates a new geometry

geometry name materials.mcr

Creates all materials used in the geometry

material _name.mcr

Creates material (one file for each material)

geometry name objects.mcr

Creates all objects used in the geometry

object name.mcr

Creates object (one file for each object)

geometry name instances.mcr

Creates all assemblies/instance

If some objects or materials on the macro files already exist in the database, an error message is displayed, and the object/material is not overwritten.

The option Record is used to save a macro in a 000000.caj.mcr file, where 000000 is a given job number. The macro file is written simultaneously as you use CASD, thus this function acts like a log of the performed actions.

This file can be read as executing a macro with the option Run.

The Write Object command in the Macro menu writes a macro file that defines the open object. CASD asks for the path to a directory where the macro file is to be placed.

This macro file must be started in the CASD main window.

The Write Geometry command in the Macro menu causes CASD to write a complete set of macro files for the open geometry. The files include macro files which create the project, geometry, all materials needed, all objects needed in addition to the assemblies/instances. The files are listed in table Macro files created by the Write Macro command.

The macro file format is not intended as a backup format. Future versions of CASD may not be backwards compatible with the menu structure and commands in the current version.

The Copy command in the Database menu can be used to make a copy of a geometry within the same project. The macro files created by the Write Geometry command in the Macro menu can be used for copying the geometry from one database to another. They can also be used for copying one geometry into another (existing) geometry.

To copy one geometry (geo1) into another (geo2) in the same database, open geo1 and execute the Write Geometry command in the Macro menu. Exit from geo1 and open geo2. Create a new assembly and execute the macro:

* macro run geometry_name_instances

Problems occur if geo2 contains local object(s) with the same name(s) as in geo1.

The purpose of the Help menu is to provide you with relevant information concerning the general use of FLACS-CFD and the active FLACS-CFD license.

This menu opens this manual in the online help browser.

This menu item will open up the PDF version of the FLACS-CFD User's Manual in the system default PDF viewer.

This menu opens a window summarising various controls

Figure 3.55: The CASD keyboard shortcuts window lists important keyboard and mouse shortcuts.

This menu opens a window that contains the FLACS-CFD license terms.

This menu displays the FLACS-CFD splash screen with information about the version of FLACS-CFD and the version of CASD.

FLACS-CFD comes with a Python API. An API reference is available from the Python menu in CASD. The API is deemed stable, but is subject to change in future releases.

Python scripts can be run from inside CASD using the Python plugin, or from the command line using the run python script provided in the bin directory. For instance, to run the geometry example execute

Several more example Python scripts are available in the bin/python/flacs/examples directory.

Snap points are points on the geometry that can be activated by clicking on them. The current snap point is indicated with a gray sphere. When moving the mouse pointer over a snap point the cursor changes to a cross and you can click to activate the snap point. Snap points are available on edges, faces and vertices. You can also hold CTRL to position the snap point at any location on the geometry. Hold CTRL and click outside the geometry to disable the snap point.

Snap points are available in both geometry view and the object editor. In the geometry view snap points are only used for placing instances, and are only enabled for the currently selected instance. The default position for a new instance is the current snap point.

In object view snap points are used for placing the next primitive, as well as selecting the rotation or scale origin, or the from/to coordinate when moving primitives.

Snap points can also be used to interactively move, rotate or resize a primitive. When the properties dialog is open, click and drag snap points to edit the primitive. Snap points on endpoints of cylinders can be dragged to adjust the cylinder length and orientation, and the snap points on the midpoint of the cylinder can be used to move it. On boxes, the snap points on the edges and vertices are used to resize it, and snap points on the faces of the box are used to move it.

Warning:

Terrain import functionality was introduced in FLACS-CFD v10.5 and has some limitations.

Only a limited number of DEM formats (e.g., GeoTiff) are georeferenced, i.e., contain meta information about the horizontal origin, dimensions, scale, or units, and even GeoTiff files do not necessarily contain this information. If insufficient georeferencing data are available, the import algorithm will try to guess the unit. It is important that you verify the suggested unit and, if necessary, correct it to ensure that the terrain is imported at the correct scale.

Table 3.33: Digital terrain data sets.

DEM data source

SRTM 3-arc-second

SRTM 1-arc-second

ASTER GDEM2

Latitude coverage

60°N - 56°S

60°N  - 56°S

83°N - 83°S

Horizontal resolution

3 arc-second ( ±90 m at the equator)

1 arc-second ( ±30 m at the equator), (2 arcsec x 1 arc-sec, slightly lower resolution at latitudes above 50 N and below 50 S)

1 arc-second ( ±30 m at the equator)

Vertical accuracy (95% CI)

±6m

no data

±17m

References

SRTM, Hirt (2010)

ASTER,

Tetsushi (2011)

DEM File format

GeoTIFF or DTED

GeoTIFF or DTED

GeoTIFF

Opinions about the relative merits of the different data sources (SRTM vs. ASTER GDEM) differ. However, the consensus seems to be that the SRTM data have slightly better vertical accuracy and fewer artefacts, whereas the ASTER data cover a wider latitude range and, in some cases, are more accurate for very rugged mountainous terrain (e.g., sharp valleys and ridges). Regardless of the data source, it is important to verify that the terrain has been imported correctly.

Attention:

Please observe the citation requirements for all DEM data!

The US Geological survey (USGS) hosts the EarthExplorer website, which is straightforward to use and supports interactive searching and downloading of a wide range of publically available DEM data, including SRTM and ASTER GDEM (see the screenshot below). In most cases, a relatively large DEM file tile will be downloaded (e.g., 100 km x 100 km), but the cropping functionality in FLACS-CFD can be used to select a smaller section to be imported.

Figure 3.56: The USGS EarthExplorer website.

A terrain surface can be imported into CASD in the object editor by choosing FileImport Terrain.

When importing a terrain to a scenario in CASD, the terrain information is resampled onto a new 2D grid and added to the list of primitives. It is possible to add multiple terrains to the scenario geometry. Saving the scenario stores the terrain primitives in the geometry file (e.g. co000000.geo), and they will be processed by FGC (Flacs Geometry Calculator) when performing the porosity calculations. When choosing Import Terrain, a dialogue is presented. After clicking Open terrain file you have to select a file containing terrain information. CASD supports a number of file formats for terrain, e.g., image files (height maps), DEM files (Digital Elevation Model), GeoTIFF and the co.tri file format used internally. If CASD supports the type of the selected file and can read the terrain, then the Import terrain dialogue displays the selected terrain file as an image in which each pixel is coloured according to height: values from low to high are represented qualitatively by the colour sequence blue - green - yellow - red.

The text line below the terrain overview displays information related to the position of the mouse in the image, showing the X and Y coordinates and the height value for that position:

As terrain files may cover large areas with high resolution, the amount of terrain data often needs to be reduced. The Import terrain dialogue allows you to reduce the size of the terrain data to be imported in two ways:

These options are explained in the next two paragraphs.

Attention:

Georeferenced files can represent the terrain using various units and coordinate systems. If the unit type is not detected correctly, then the resulting terrain size may be incorrect. The terrain unit is set to metres by default, but DEM and GeoTIFF files may define the terrain in arc degrees or arc seconds, and this may lead to an incorrect representation (width and height) of the terrain. You can normally detect this by looking at the original values (X- and Y-size) displayed below the terrain overview. If these values do not match the expected ranges, or if the values are very large or small, then set the Planar units to the correct unit to fix this.

When pressing OK in the Import terrain dialog, the terrain will be converted to a 2D grid (similar to a FLACS-CFD simulation grid) with the interpolated height saved for each grid point. If the number of grid cells in the terrain representation becomes too large, then the frame rate in the geometry view in CASD may be affected. A warning will be displayed upon pressing the OK button if the resulting terrain representation contains more than 1 million grid cells. A large terrain representation will also affect the porosities calculation time in FGC (Flacs Geometry Calculator), and visualisation performance in Flowvis.

Some terrain files contain height values that are below the elevation of interest, for example elevations below sea level. To discard height values below the required level, the input box labeled Discard points with height below or equal to allows you to set the minimum value. Points with height values below this minimum will be set to the given value.

Georeferenced terrain files normally have coordinates far away from the origin, which may be impractical when loading the terrain in CASD. Therefore, the Import terrain dialog contains a Translate origin of imported terrain to (0,0) checkbox, which is checked by default. When checked, the lower left corner of the terrain will be placed at the origin (0,0) for the CASD coordinate system. Clicking the OK button in the Import terrain dialogue closes the dialogue and displays the terrain as a geometry surface in the CASD geometry view.

If the coordinate system in CASD has already been georeferenced, either manually or by previously importing a georeferenced terrain, the option to ”Translate terrain according to georeference” will be enabled, and makes it possible to automatically align terrain patches next to each other during import. If the coordinate system in CASD has been georeferenced the label in the lower right of the object editor window will say ”Georeferenced” instead of ”Not georeferenced”.

Figure 3.58: A terrain in the CASD geometry window.

To make the terrain match other geometry, it is possible to apply transformations like rotation, translation and scaling the same way as for the other primitives. It is also possible to set a Materials on the terrain, but mapping a real terrain texture is a bit difficult in practice as the texture has to match the terrain in both size and position.

Transformations can be used to adapt the orientation, position and scale of the terrain to match the geometry in the scenario. It can also be used to set the correct orientation and size of terrain coming from files that do not contain georeference information. For example, grayscale height maps may contain correct height values for each pixel, but not include information about the extent (i.e., the size in the X and Y directions) of each pixel. In such cases, the terrain should be scaled manually to get the correct proportions.

Geometry and terrain can be georeferenced in CASD by choosing GeometryGeoreference. Georeferencing can be used in CASD to match the placement of geometry and terrain, and in Flowvis to export georeferenced images to the GeoTIFF file format. It is performed in CASD by defining a snap-point by CTRL+left-click on the geometry or on the terrain in the 3D View, and then open the Georeference dialog from the Geometry menu.

Figure 3.59: The georeference dialog

The georeference dialog is used to map a position in the FLACS-CFD coordinate system to a position in the real world. If a snap-point was set before opening the dialog, the coordinates of the snap point will be set in the FLACS-CFD Coordinate fields. The position in FLACS-CFD coordinate is matched with a position in the real world, either by writing a LatLong/UTM coordinate in the available fields, or by clicking in the interactive map view. If an imported geometry has been rotated in order to align pipes or buildings to the coordinate axis, the same rotation can also be applied in this dialog, to match the orientation in the real world.

Clicking the OK button after setting the coordinates will compute and store the real world coordinates of the FLACS-CFD coordinate system origin, if this has not been set before, and close the dialog.

Note:

When importing a terrain, the georeference in CASD might be set automatically if the source file contains georeference information, e.g., when importing from a GeoTIFF or DEM file.

If the process of setting the real-world coordinates of the FLACS-CFD origin has already been performed, either manually or through terrain import, clicking OK will open a new dialog with four choices:

The three first choices will modify the coordinates of the terrain, the geometry, or both, respectively. This can be used to match the position of the item in relation to each other, and in relation to position in the real world. Choice number four, Reset location, will recompute the position of the FLACS-CFD coordinate system origin, the same way as it is done the first time the georeference process is performed.

Figure 3.60: The Set georeference location dialog is used to move the terrain and/or the geometry in relation to the positioned FLACS-CFD coordinate system, or to reposition the FLACS-CFD coordinate system.

An example of how to use the georeference functionality is where a height map of a terrain and a geometry model of a process plant are available. The following procedure can be used to match the position of these two items in CASD: The first step is to set the real world position of the FLACS-CFD coordinate system. This is achieved by placing a snap point on a identifiable feature in the terrain, opening the georeference dialog, finding and clicking the matching feature in the map, and click OK. Step two is to find a identifiable feature in the geometry (e.g., the corner of a building) and place a snap point on this feature, open the georeference dialog and click on the matching feature in the map view, click OK, and then select Move geometry in the Set georeference location dialog.

The geometry will now be positioned correctly in the terrain and both items will have their correct position in the real world, which can be utilized later when exporting images from Flowvis.

Plan drawings can be used to place an image behind the geometry, to assist with modelling or placing instances. Click the plan drawings icon in the tool bar to open the plan drawings dialog.

File Geometry Grid Porosities Scenario Block VieOptions Macro Help

^D ® H 161 311到事圜:费沐禽亟:旧)V:

Figure 3.61: Geometry with plan drawing underlay

Click the New button and select an image file of format png or jpg to create a new plan drawing. The plan drawing can be oriented along any of the three coordinate axes.

Figure 3.62: The plan drawing window

The size of a new drawing is default set to 100 x 100 meters with one corner in origo and aligned in the XY plane, but the position and size can easily be calibrated. Click the Calibrate button and position the two points at two known coordinates by dragging them. Enter the coordinates for each point and click OK. If you change the orientation, the plan drawing must be re-calibrated for it to be correct.

The elevation (z value) is set in the plan drawings main window.

If the Lock aspect ratio check box is checked then the drawing will be scaled equally in both width and

height. If it is not checked the drawing can be scaled differently in each direction if necessary, ie. if the scale in the original drawing is different in width and height.

Figure 3.63: The plan drawing calibration window

Plan drawing settings are now saved together with the database, but in previous versions of CASD the settings were saved separately. Click the Import button to import previously saved settings.

Units in the plan drawings window and plan drawings calibration window is according to the chosen units.

The clip plane functionality lets you hide parts of the geometry to be able to see into obstructed areas. Six clip planes can be shown simultaneously, typically one for each of the positive and negative axis directions.

The clip plane functionality is enable and disabled by selecting the Toggle clip planes icon in the icon bar. To edit the clip planes click the Edit clip planes icon.

Figure 3.64: Adding a clip plane

Groups of clip planes can be named and you can select which group of clip plane is active by using the upper menu. The clip plane groups and settings are stored in the geometry database such that they are available for later sessions and other users.

By using the menu 'Edit clip plane' the various clip planes in the group can be edited. The clip plane can be enabled and disabled, and the cut surfaces can be closed or be left open.

The menu 'Direction' sets which axis direction the cut plan will be aligned to, and whether the positive or negative side of the clip plane will be shown.

If a snap point is set, then the clip plane can be placed at this location by clicking Place at snap point

The Arrange items functionality allows to quickly define a large number of items like monitor points and pressure relief panels in a defined pattern.

Note:

The Arrange items functionality is implemented as a Python plugin which must be enabled to make the functionality visible.

Figure 3.65: Arrange items

Items can be created in the following patterns:

If no items are created when Arrange items is selected, items with default settings will be created. If an item is created beforehand and is selected whilst Arrange items is selected, then the settings for this item will be used for all created items.

Arrange items is available by MOUSE+RIGHT in the scenario sections where it is available.

The complexity and size of geometry models increase continuously. Geometry data sets become bigger and bigger both due to an increasing level of detail, but also because FLACS-CFD is being used for facilities which are physically larger, such as land based petrochemical plants, e.g. refineries. Some users may face problems handling such very large geometries in CASD. Gexcon has significant development focus on facilitating the use of very large geometries, and both the release of the 64 bit version of CASD and the new version CASD 7 with FLACS-CFD v10.0 have been major milestones in this direction.

Still, if a geometry is very large, some tricks and techniques can help to handle the geometry smoothly and successfully; the current section contains some advice to this end. For an introduction to importing geometries from CAD software into FLACS-CFD see the section on geo2flacs.

On Linux, the shell assigns programs a certain stack size for saving local variables. Some grid-related data in Flacs is saved in stack variables and therefore large geometries can render the default stack size assigned by the shell insufficient. Stack overflow may be signalled by an error message like

Error: Simulation aborted

but other messages may be given, depending on the system and/or shell used. You can check the current default stack size by running

in csh or

ulimit -s

in sh/bash. To avoid stack overflow, the stack size limit may be increased or set to unlimited, which means the complete system resources may be used. To set the stack size to unlimited do

in csh (see limit in man csh) or

in sh/bash (see ulimit in man bash).

Even when a geometry seems relatively small, the detail level can be extremely large (down to nuts and bolts). Tiny objects require the same resources as big objects, which may lead to memory problems as described above.

To filter away small objects in a geo2flacs conversion of the geometry, use the geo2flacs options -d and -l which disregard objects that are smaller than the specified diameter (-d) or length (-l). Furthermore, the option -n can be used to group small objects into larger objects. A typical value passed to geo2flacs is, e.g., -n10000.

Another technique that can aid when working with very large geometries is to apply a load filter. Once you have read the complete geometry into CASD, save it to a database and exit CASD. Then restart CASD and open the geometry again after setting an appropriate load filter based on position, material, size, or a combination.

If the default OpenSceneGraph (OSG)-based viewer does not work well with your data or hardware, you can try to run CASD with the older, Open Inventor-based viewer. In this case, you should enable an extension of the Open Inventor viewer by setting the environment variable CASD USE NEW INSTANCE DRAWING; then start CASD with the command line option ”-viewer iv”, i.e.

or, if you use the bash shell, type

Then start CASD by > run casd

Alternatively, you can set the variable via the Environment Variables dialogue.

You can use clip planes to hide parts of the geometry and improve performance for the remaining parts. Clip planes are supported in both the main window and the object window.

• When using VirtualGL on linux, the scenario items menu for simulation types does not work. This can be fixed by setting the environment variable QT XCB NATIVE PAINTING=1

FLACS-CFD v22.2 User’s Manual

GEXCON